【发布时间】:2015-09-08 13:41:06
【问题描述】:
我正在浏览 Craig Walls Manning Spring4 in Action。
在创建 JSP 视图时,他建议,
InternalResourceViewResolver 最终解析逻辑视图 名称到引用 JSP 文件的 InternalResourceView 实例中。 但是,如果这些 JSP 文件引用 JSTL 标记以进行格式化或 消息,那么您可能需要配置 InternalResourceViewResolver 来解析 JSTLView。
拥有 InternalResourceView Resolver 解析器 JstlView 而不是 InternalResourceView 所需要做的就是设置其 viewClass 属性。
像这样,
@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;
}
为什么要添加这一行
resolver.setViewClass(org.springframework.web.servlet.view.JstlView.class);
这个类究竟是什么意思?
有什么建议吗?`
【问题讨论】:
-
你不... Spring 自动检测 JSTL 的存在,并且当可用时将自动返回
JstlView。所以你在这里什么都没有添加。见here -
@Deinum:同意,但是为什么这么好的书的作者会提到这一点。
-
在早期版本中它没有这样做,我猜这是由于旧材料的重复使用......
-
试图获取
InternalResourceViewResolver的历史记录,但我猜那不是从 SVN 迁移到 github。
标签: spring jsp spring-mvc jstl