mvc:view-controller

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:view-controller

  1. <!-- 访问静态资源文件  -->
  2. <mvc:resources mapping="/images/**" location="/images/" cache-period="31556926"/>

像这样,jsp文件若放在静态路径/images下,可以直接访问,而不经过controller。

上一篇:搜索框(Thinkphp5.0)


下一篇:mysql删除某一个数据库中所有的表