glossary
ViewResolver
根据controller返回的logic view name 生成View实例
public interface ViewResolver {
View resolveViewName(String viewName, Locale locale)
throws Exception;
}
JSP tag libraries
form-to-model binding
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="sf" %>
spring’s general tag library
<%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>
View
将model数据渲染到response
public interface View {
String getContentType();
void render(Map<String, ?> model,
HttpServletRequest request,
HttpServletResponse response) throws Exception;
}
常用的 view resolvers
https://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-viewresolver
InternalResourceViewResolver
- 解析view name到对应的jsp文件, 支持JSTL
- 可以加前缀或者加后缀来匹配文件
- 如果使用jstl,要配置ViewClass
configure view resolver
注入View Resolver bean:
- JavaConfig
@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;
}
- xml configuration
<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" />
网友评论