控制器和视图之间的唯一联系应该是模型Model中的数据,其他方面应该解耦
-
视图的基本接口是 ViewResolver和View
ViewResolver.java
public interface ViewResolver { View resolveViewName(String viewName, Locale locale) throws Exception; }
View.java
public interface View { String RESPONSE_STATUS_ATTRIBUTE = View.class.getName() + ".responseStatus"; String PATH_VARIABLES = View.class.getName() + ".pathVariables"; String SELECTED_CONTENT_TYPE = View.class.getName() + ".selectedContentType"; String getContentType(); void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception; }
View接口的任务就是接受request和model,然后在response中输出视图
为了定制视图,我们只需要实现 View和ViewResolver接口
但是Spring自带了13个视图解析器,每一项对应Java Web中特定的某种视图技术,可以满足大部分需求
JSP依然是最常用的视图技术,它对应于 InternalResourceViewResolver; TilesViewResolver用来控制JSP页面的布局
chapter06_渲染Web视图_2_理解视图解析
最新推荐文章于 2024-09-23 19:28:37 发布