视图解析器
1. 所有控制器方法返回值由ViewResovler(视图解析器)进行解析.
2. SpringMVC默认具有视图解析器,也支持程序员自定义视图解析器,如果提供自定义视图解析器后,默认视图解析器无效.
3. 用户自定义视图解析器目的:
3.1 实际项目常把jsp放入到WEB-INF/xxxx/xxx.jsp中,保护jsp.
3.2 进入到WEB-INF下jsp之前必须先进入控制器,由控制器转发到jsp.
3.2.1 由控制器控制所有视图.
4. 自定义视图解析器好处:
4.1 编写代码时,设置跳转视图时方便.(控制器方法返回值)
5. 配置办法:
5.1 在springmvc.xml配置文件中添加
<!-- 自定义视图解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/page/"></property> <!-- 后缀 --> <property name="suffix" value=".jsp"></property> </bean> |
5.2 控制器编写办法
@RequestMapping("demo1") public String demo1(){ System.out.println("执行demo1"); return "demo1"; } |
5.3 访问控制器demo1后会跳转到/WEB-INF/page/demo1.jsp
6. 通过在返回值前添加forward:或redirect:让系统不执行自定义视图解析器,执行系统默认视图解析器
6.1 示例:访问demo2后会重定向到demo1控制器,不执行自定义视图解析器.
@RequestMapping("demo2") public String demo2(){ System.out.println("执行demo2"); return "redirect:demo1"; } |
木子璇总结时刻:欢迎小伙伴们提出建议哦,如有错误,望大神指出哦,谢谢啦。