首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

spring mvc学习(2)用于直接跳转页面的控制器

2013-10-18 
spring mvc学习(二)用于直接跳转页面的控制器在上一实例中,我们访问hello.jsp页面是通过自定义的控制器,因

spring mvc学习(二)用于直接跳转页面的控制器

在上一实例中,我们访问hello.jsp页面是通过自定义的控制器,因为我们配置了viewresolver将jsp页面隐藏在了WEB-INF下面,这时页面不能通过url直接访问。如果我们想直接访问某个页面而不需要自定义控制器,则需要进行如下配置:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"      xmlns:context="http://www.springframework.org/schema/context"      xsi:schemaLocation="          http://www.springframework.org/schema/beans              classpath:/org/springframework/beans/factory/xml/spring-beans-3.0.xsd           http://www.springframework.org/schema/context               classpath:/org/springframework/context/config/spring-context-3.0.xsd           http://www.springframework.org/schema/mvc               classpath:/org/springframework/web/servlet/config/spring-mvc-3.2.xsd "> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">              <property name="mappings">                <props>                      <prop key="indexController.do">indexController</prop>                  </props>              </property>      </bean>  <!-- 用于页面跳转 --><bean id="indexController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"><property name="viewName" value="index"/></bean><bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">               <!-- 返回的视图模型数据需要经过jstl来处理 -->              <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>              <property name="prefix" value="/WEB-INF/jsp/" />              <property name="suffix" value=".jsp" />      </bean>  </beans>

当访问indexController.do时,则会跳转到/WEB-INF/jsp/index.jsp文件

显然上面的方法存在一个不足之处,当我们直接跳转的页面比较多时,每配置一个,就需要添加一个bean;下面有中更简洁的方法:

配置如下:

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"      xmlns:context="http://www.springframework.org/schema/context"      xsi:schemaLocation="          http://www.springframework.org/schema/beans              classpath:/org/springframework/beans/factory/xml/spring-beans-3.0.xsd           http://www.springframework.org/schema/context               classpath:/org/springframework/context/config/spring-context-3.0.xsd           http://www.springframework.org/schema/mvc               classpath:/org/springframework/web/servlet/config/spring-mvc-3.2.xsd "> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">              <property name="mappings">                <props>                      <prop key="index.do">indexController</prop>                  </props>              </property>      </bean>  <!-- 用于页面跳转,根据请求的不同跳转到不同页面,如请求index.do则跳转到/WEB-INF/jsp/index.jsp页面 --><bean id="indexController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/><bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">               <!-- 返回的视图模型数据需要经过jstl来处理 -->              <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>              <property name="prefix" value="/WEB-INF/jsp/" />              <property name="suffix" value=".jsp" />      </bean>  </beans>


当我们想访问/WEB-INF/jsp下面的login.jsp页面时,我只需要在SimpleUrlHandlerMapping中添加<prop key="login.do">indexController</prop>即可。

热点排行