springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作


事先在spring的xml中配置了视图控制器的前后缀:

    <!--配置controller中方法的返回值的前后缀,简化逻辑视图名称
    比如 return "/WEB-INF/views/ok.jsp
    前缀为 /WEB-INF/views
    后缀为 .jsp
    因为我们在访问页面的时候变化的更多是/WEB-INF/views/xxx.jsp 中的 xxx
    -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" name="viewResolver"><!--默认视图解析器-->
        <!--前缀:return "/WEB-INF/views/ok.jsp" 中的/WEB-INF/views 前面的部分-->
        <property name="prefix" value="/WEB-INF/views/"></property>
        <!--配置后缀-->
        <property name="suffix" value=".jsp"></property>
    </bean>

这样在请求处理方法return时,默认转发的就是加上了前后缀的路径:

springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作

比如 return “ok” 实际上就是转发的 /WEB-INF/views/ok.jsp ,那么想要转发到 login.jsp 该怎么使用呢?

只需要在请求处理方法的 return 中显式地加上 forward:/login.jsp 就行了;

比如:

package cn.cdulm.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ResponseController {
    @RequestMapping("/res1")
    public String res1(){
        return "forward:/login.jsp";
    }

}

访问映射地址:

 springmvc配置了视图控制器的前后缀之后进行不匹配前后缀的转发操作

成功!

 

由此可知:加上forward后就不会转交给视图解析器进行解析。

 

原创文章,作者:wure,如若转载,请注明出处:https://blog.ytso.com/270264.html

(0)
上一篇 2022年6月24日
下一篇 2022年6月24日

相关推荐

发表回复

登录后才能评论