किसी जेएसपी फ़ाइल के रूट को हल करने का एक आसान तरीका क्या है जो वेब अनुप्रयोग की मूल जेएसपी निर्देशिका में स्थित नहीं है SpringMVCs ViewResolvers का उपयोग कर? उदाहरण के लिए, मान लीजिए हम निम्न वेब अनुप्रयोग संरचना है:स्प्रिंग एमवीसी: वेब अनुप्रयोग में रूट 'जेएसपी' फ़ोल्डर की उप-निर्देशिकाओं के पथ को कैसे हल करें
web-app
|-WEB-INF
|-jsp
|-secure
|-admin.jsp
|-admin2.jsp
index.jsp
login.jsp
मैं jsp रूट फ़ोल्डर के भीतर JSP फ़ाइलें और सुरक्षित को हल करने के लिए कुछ बाहर के बॉक्स घटकों का उपयोग करना चाहते हैं उपनिर्देशिका। मैं एक *-servlet.xml
फ़ाइल है कि परिभाषित करता है:
एक आउट-ऑफ-द-बॉक्स, InternalResourceViewResolver
:
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
हैंडलर मैपिंग:
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index.htm">urlFilenameViewController</prop>
<prop key="/login.htm">urlFilenameViewController</prop>
<prop key="/secure/**">urlFilenameViewController</prop>
</props>
</property>
</bean>
एक आउट-ऑफ-द-बॉक्स UrlFilenameViewController
नियंत्रक:
<bean id="urlFilenameViewController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController">
</bean>
मेरी समस्या यह है कि अनुरोध सुरक्षित निर्देशिका में JSPs को हल नहीं किया जा सकता है, क्योंकि jspViewResolver
में केवल /jsp/
और /jsp/secure/
के रूप में परिभाषित एक उपसर्ग है।
क्या इस तरह की उपनिर्देशिका को संभालने का कोई तरीका है? मैं इस संरचना को रखना पसंद करूंगा क्योंकि मैं वसंत सुरक्षा का उपयोग करने की कोशिश कर रहा हूं और उपनिर्देशिका में सभी सुरक्षित पृष्ठ यह करने का एक अच्छा तरीका है।
शायद इसे स्वीकार करने का एक आसान तरीका है लेकिन मैं वसंत और वसंत एमवीसी ढांचे के लिए नया हूं इसलिए किसी भी पॉइंटर्स की सराहना की जाएगी।
असंबद्ध नोट, लेकिन आपको 'jstlView' को 'viewClass' के रूप में निर्दिष्ट करने की आवश्यकता नहीं है, वसंत डिफ़ॉल्ट रूप से इसे समझ जाएगा। – skaffman