How to get page name in JSP or JSTL?

2019-02-22 03:09发布

问题:

I want to get current page name (something like "myPage") using JSP or JSTL. How can I achieve this?

回答1:

You can get it by HttpServletRequest#getServletPath().

${pageContext.request.servletPath}

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



回答2:

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;
    }


回答3:

maybe you can get it thought javascript way, like:

var url = window.location.href;

then use string methods to get current page name.



标签: jsp jstl el