一、 视图配置
在SpringMVC的配置文件中配置:
<!-- 配置视图解析器: 如何把 handler 方法返回值解析为实际的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix"value="/WEB-INF/views/"></property>
<propertyname="suffix" value=".jsp"></property>
</bean>
二、 自定义视图
这个和之前的配置视图解析器功能类似,但是配置视图解析器比较常用,常用的一般在配置文件的后面(其order为最大整型值)。① 自定义视图配置文件
<!-- 配置视图 BeanNameViewResolver 解析器: 使用视图的名字来解析视图,通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 -->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="100"></property>
</bean>
② 自定义的视图要实现 View 接口类,并使用 @Component 注解注入到容器中
@Component
public class HelloView implements View{…}
③ SpringMvc类中写测试类,并在index.jsp中写超链接即可
@RequestMapping("/testView")
public String testView(){
return "helloView";
}
三、 视图的重定向
return “redirect: /index.jsp”; //会完成一个到 index.jsp 的重定向的操作
return “forward: /index.jsp”; //会完成一个到 index.jsp 的转发操作
四、 mvc:viewcontroller
若希望直接响应通过SpringMVC 渲染的页面,也就是不需要用index.jsp来实现跳转到Handler层的方法,直接输入success,那么可以使用 mvc:viewcontroller 标签实现。
<!-- 配置直接转发的页面,可以直接转发到相应的页面, 而无需再经过 Handler的方法. -->
<mvc:view-controllerpath="/success" view-name="success"/>
但是这种配置会造成以前使用Handler的方式都不起作用了,若想以前经过 Handler 的方法起作用,解决方法:
<!—在实际开发中通常都需配置 mvc:annotation-driven 标签,这个注解非常重要 -->
<mvc:annotation-driven></mvc:annotation-driven>
五、JstlView
要导入相关的包,若项目中使用JSTL,则 SpringMVC 会自动把视图由InternalResourceView 转为 JstlView。
若使用 JSTL 的 fmt 标签则需要在 SpringMVC 的配置文件中配置国际化资源文件。