2011-05-15 12 views
6

मैं जेएसपी या जेएसटीएल का उपयोग कर वर्तमान पृष्ठ का नाम ("myPage" जैसा कुछ) प्राप्त करना चाहता हूं। इसे कैसे प्राप्त किया जा सकता है?जेएसपी या जेएसटीएल में पृष्ठ का नाम कैसे प्राप्त करें?

उत्तर

16

आप इसे HttpServletRequest#getServletPath() द्वारा प्राप्त कर सकते हैं।

${pageContext.request.servletPath} 

आप JSTL functions taglib का उपयोग जब भी आवश्यक विस्तार निकालने के लिए कर सकते हैं।

var url = window.location.href; 

तो स्ट्रिंग तरीकों का उपयोग वर्तमान पृष्ठ नाम प्राप्त करने के लिए:

+0

यह मेरे /webinf/views/myPage.jsp की तरह कुछ देता है, तुम मुझे थोड़ी सी मदद कैसे दे सकते हैं नाम केवल –

+6

आह निकालने के लिए, आप एक कंट्रोलिंग सर्वलेट का उपयोग कर रहे हैं जो आगे// WEB-INF' फ़ोल्डर में जेएसपी के लिए है। ब्राउजर एड्रेस बार में यूआरएल के सर्वलेट पथ को पाने के लिए '$ {requestScope ['javax.servlet.forward.servlet_path']} 'का उपयोग करें। – BalusC

+1

मैं इसे निम्न तरीके से भी करने में सक्षम था: request.getRequestURI()। Substring (request.getRequestURI()। LastIndexOf ("/") + 1, request.getRequestURI()। LastIndexOf ("।")); –

-3

हो सकता है आप यह जावास्क्रिप्ट तरीका सोचा, की तरह मिल सकती है।

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

और इस सहायक कोड:

+1

जावास्क्रिप्ट न तो जेएसपी और न ही जेएसटीएल है। –

+0

आप। तुम सही हो। –

0

पेज प्राप्त करने के लिए

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; 
    } 
संबंधित मुद्दे