This tag is a shorcut for defining a ParameterizableViewController that immediately forwards to a view when invoked.
这个标签是为了简化ParameterizableViewController映射到视图的配置Use it in static cases when there is no Java Controller logic to execute before the view generates the response.
当响应视图是不需要执行控制器逻辑时使用An example of view-controller that forwards to a home page is shown below:
一个跳转到主页的配置例子<mvc:view-controller path="/" view-name="home"/>
两种用法
1、重定向 <mvc:view-controller path="/" view-name="redirect:/admin/index"/> 即如果当前路径是/ 则重定向到/admin/index 2、view name <mvc:view-controller path="/" view-name=admin/index"/> 如果当前路径是/ 则交给相应的视图解析器直接解析为视图 如 <bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="2"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="contentType" value="text/html"/> <property name="prefix" value="/WEB-INF/jsp/"/> <property name="suffix" value=".jsp"/> </bean> 则得到的视图时 /WEB-INF/jsp/admin/index.jsp
jsp的默认会交给 如tomcat/conf/web.xml中的 jsp servlet处理
<servlet> <servlet-name>jsp</servlet-name> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class> <init-param> <param-name>fork</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>xpoweredBy</param-name> <param-value>false</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jsp</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>jsp</servlet-name> <url-pattern>*.jspx</url-pattern> </servlet-mapping> 除非你的spring也拦截*.jsp 但这样所有jsp都交给spring处理了
不想进controller,可以在spring-mvc.xml中配置静态访问路径
Xml代码
- <!-- 访问静态资源文件 -->
- <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>
像这样,jsp文件若放在静态路径/images下,可以直接访问,而不经过controller。