How to get the Visual Force Page Name Using Apex Class?

We can get the Visual Force Page Name Using Apex Class, below is the Example:


public string getVFPageName()  {
String pageName = ApexPages.CurrentPage().getUrl();     // THIS IS THE CLOSEST YOU CAN GET SO FAR
pageName = pageName.replaceFirst('/apex/','');          // IT ALWAYS STARTS WITH /APEX/ SO REMOVE IT
pageName = EncodingUtil.urlEncode(pageName, 'UTF-8');   // YOU WANT TO END AT THE QUESTION MARK BUT
// YOU HAVE TO ENCODE IT FIRST
string[] pageNameExtra = pageName.split('%3F',0);   // %3F IS THE VALUE OF THE QUESTION MARK IN UTF-8
// SO YOU MAY SPLIT THE STRING AT THAT POINT
pageName = pageNameExtra[0];                            // FOR THIS PURPOSE YOU ONLY NEED THE FIRST
// IN THE RESULTING ARRAY
return pageName;                                        // HERE IS YOUR PRODUCT
}

Written by 

Salesforce MVP | Lightning Champion | 17x Salesforce Certified | Application Architect | 7x Trailhead Ranger | Techforce Services | Australia

Leave a Reply

Your email address will not be published. Required fields are marked *

*