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。