处理视图资源核心类:
org.springframework.web.servlet.view.ResourceBundleViewResolver
org.springframework.web.servlet.view.ResourceBundleViewResolver
return hello – 决定返回的字符串由哪一个页面来显示。
1,需要导入包
2,spring的配置文件中配置
<!-- 转发的时候我们写配置文件properties -->
<bean class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basenames">
<list><!-- 默认查询属性文件为hncu的配置文件classpath目录下 -->
<value>hncu</value><!-- 这是资源的名字 ,让controller中返回的值在这个文件里面找相应的路径和类型,绑定靠<span style="font-size:18px;">ResourceBundleViewResolver实现</span>-->
</list>
</property>
<!-- 写这个默认之后,我们properties文件中就不用写同样的类型 jstlview 了 -->
<property name="defaultParentView" value="abc"></property>
</bean>
3,资源文件hncu.properties
abc.(class)=org.springframework.web.servlet.view.JstlView
abc.url=/jsps/show1.jsp
##xyz.(class)=org.springframework.web.servlet.view.JstlView
xyz.url=/jsps/show2.jsp
在controller返回的之中来匹配当前资源文件,然后转到不听的页面
4,Controller文件
public class MyController implements Controller {
// 实现这个
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
// 重定向
// ModelAndView mv =new ModelAndView();
// View view =new
// RedirectView("/jsps/show1.jsp",true);//后面参数为true时,采用的是相对项目名
// mv.setView(view);
// mv.addAllObjects(modelMap)//可以传值
// System.out.println("aa");
// return mv;
// 转发 相对比麻烦点。。直接返回一个数值,ViewResolver处理
// return new ModelAndView("abc");//测试一
return new ModelAndView("xyz");//测试二 默认的是否有效
}
5,总结
实现简单的配置,这样就可以实现页面跳转了(从controllor中返回值,ResourceBundleViewResolver将会解析,访问到指定的配置文件,读取配置文件,转到相应的页面。)