映射.jsp Spring

时间:2012-10-01 06:23:08

标签: spring jsp servlets

今天我正在研究Java Spring中的一个项目,特别是在CONTEXT-SERVLET.xml(上下文)中,通常声明一个bean将.jsp与Java类或控制器(映射)相关联。

传统工作流程是:viewA.jsp已链接(映射)到controller.java(控制器),此controller.java会调度另一个viewB.jsp

您是否可以在不通过控制器的情况下将viewA.jsp链接到另一个viewB.Jsp? 在CONTEXT-SERVLET.xml中如何做到这一点?

2 个答案:

答案 0 :(得分:1)

您可以使用ParameterizableViewController将请求重定向到jsp文件,而无需访问控制器 例如
1.将/welcome.htm映射到welcomeController

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/welcome.htm">welcomeController</prop>
            </props>
        </property>
</bean>  

2。将viewName的{​​{1}}属性映射到welcomeController

WelcomePage

3。定义视图解析器

<bean name="welcomeController" 
            class="org.springframework.web.servlet.mvc.ParameterizableViewController">
        <property name="viewName" value="WelcomePage" />
</bean>

它会将<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <property name="prefix"> <value>/WEB-INF/pages/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> 映射到/welcome.htm Source了解更多详情。

答案 1 :(得分:1)

&LT; mvc:view-controller path =“/”view-name =“home”/&gt;

这是定义ParameterizableViewController的快捷方式,该方法在调用时立即转发到视图。如果在视图生成响应之前没有要执行的Java控制器逻辑,请在静态情况下使用它。

请参阅链接http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-view-controller