为什么我需要一个视图 class 来解析 Spring MVC 中的 JSTL 视图?
Why do I need a view class to resolve JSTL views in Spring MVC?
我正在穿过 Craig Walls Manning Spring4 in Action。
在创建 JSP 视图中,他建议,
The InternalResourceViewResolver ultimately resolves logical view
names into instances of InternalResourceView that reference JSP files.
But if those JSP files are referencing JSTL tags for formatiing or
messages, then you may want to configure InternalResourceViewResolver to resolve a JSTLView instead.
使用 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);
这个 class 到底是什么意思?
有什么建议吗?`
在旧的 Spring 版本中,没有自动检测功能。这个已经在不同的类慢慢介绍了。 InternalResourceViewResolver
早期没有自动检测 JSTL,这需要始终将 JstlView
指定为 viewClass
。
但是 this revision 在曾经包含 Spring 的非常古老的 SVN 中添加了它,从那时起就可以自动检测要使用哪个 viewClass
。
提交消息
r14417 | jhoeller | 2007-08-05 00:01:19 +0200 (zo, 05 aug 2007) | 2 lines
InternalResourceViewResolver uses JstlView as default (instead of InternalResourceView) if the JSTL API is present
我不知道它仍然在书中的原因,我怀疑是由于重用了以前版本的 material,所以它被留在了里面,但这是一个猜测。只有 the author 可以回答这个问题。
我正在穿过 Craig Walls Manning Spring4 in Action。
在创建 JSP 视图中,他建议,
The InternalResourceViewResolver ultimately resolves logical view names into instances of InternalResourceView that reference JSP files. But if those JSP files are referencing JSTL tags for formatiing or messages, then you may want to configure InternalResourceViewResolver to resolve a JSTLView instead.
使用 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);
这个 class 到底是什么意思?
有什么建议吗?`
在旧的 Spring 版本中,没有自动检测功能。这个已经在不同的类慢慢介绍了。 InternalResourceViewResolver
早期没有自动检测 JSTL,这需要始终将 JstlView
指定为 viewClass
。
但是 this revision 在曾经包含 Spring 的非常古老的 SVN 中添加了它,从那时起就可以自动检测要使用哪个 viewClass
。
提交消息
r14417 | jhoeller | 2007-08-05 00:01:19 +0200 (zo, 05 aug 2007) | 2 lines
InternalResourceViewResolver uses JstlView as default (instead of InternalResourceView) if the JSTL API is present
我不知道它仍然在书中的原因,我怀疑是由于重用了以前版本的 material,所以它被留在了里面,但这是一个猜测。只有 the author 可以回答这个问题。