开发者

How to get page name in JSP or JSTL?

开发者 https://www.devze.com 2023-03-06 05:15 出处:网络
I want to get current page name (something like \"myPage\") using JSP or JSTL. Ho开发者_运维百科w can I achieve this? You can get it by HttpServletRequest#getServletPath().

I want to get current page name (something like "myPage") using JSP or JSTL. Ho开发者_运维百科w can I achieve this?


You can get it by HttpServletRequest#getServletPath().

${pageContext.request.servletPath}

You can use the JSTL functions taglib to extract the extension whenever necessary.


To get the page:

<% String pageName = com.kireego.utils.Utils.extractPageNameFromURLString(request.getRequestURI()); %>

and this helper code:

public static String extractPageNameFromURLString(String urlString){
        if (urlString==null) return null;
        int lastSlash = urlString.lastIndexOf("/");
        //if (lastSlash==-1) lastSlash = 0;
        String pageAndExtensions = urlString.substring(lastSlash+1);
        int lastQuestion = pageAndExtensions.lastIndexOf("?");
        if (lastQuestion==-1) lastQuestion = pageAndExtensions.length();
        String result = pageAndExtensions.substring(0,lastQuestion);
        return result;
    }


This line will get you the correct JSP name, it's working also when the page includes multiple pages

<%= this.getClass().getSimpleName().replaceAll("_5F", "").replaceFirst("_", "") %>.jsp<BR> 


maybe you can get it thought javascript way, like:

var url = window.location.href;

then use string methods to get current page name.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号