理解视图解析
控制器方法和视图的实现会在模型内容上达成一致,这是两者的最大关联,除此之外,两者应该保持足够的距离。
创建JSP视图
1、**InternalResourceViewResolver 将视图解析为InternalResourceView
(1)使用@Bean配置InternalResourceViewResolver **视图解析器
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver =
new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
(2)作为替代方案,使用基于XML的Spring配置**InternalResourceViewResolver **视图解析器
<bean id="viewResolver"
class ="org.springframework.web.servlet.view.
InternalResourceViewResolver"
p:prefix="/WEB-INF/views"
p:suffix=".jsp"/>
InternalResourceViewResolver配置就绪之后,它就会将逻辑视图名解析为JSP文件。当逻辑视图名包含斜线时,这个斜线也会带到资源的路径名中,因此它会对应到prefix属性所引用目录的子目录下的JSP文件。
2、InternalResourceViewResolver 将视图解析为JstlView,只需设置它的viewClass属性即可
(1)使用@Bean配置**InternalResourceViewResolver **视图解析器
@Bean
public ViewResolver viewResolver() {
InternalResourceViewResolver resolver =
new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
resolver.setViewClass(
org.springframework.web.servlet.view.JstlView.class);
return resolver;
}
(2)使用基于XML的Spring配置
<bean id="viewResolver"
class ="org.springframework.web.servlet.view.
InternalResourceViewResolver"
p:prefix="/WEB-INF/views"
p:suffix=".jsp"
p:viewClass="org.springframework.web.servlet.view.JstlView"/>