Spring实战读书笔记
第六章:渲染Web视图
理解视图解析
-
Spring MVC定义了一个名为ViewResolver的接口,接口内有一个resolverViewName的方法,方法内需要传入一个视图名和Locale对象,最后它会返回一个View实例。
-
View是另外一个接口,它的任务就是接受模型以及Servlet的request和response对象,并将输出结果渲染到response中。
-
在使用中,我们根本无需关心这些接口,只需要根据我们使用的视图技术注入想要的视图解析器就行了。
使用Spring的JSP库
-
Spring提供了一个表单绑定JSP标签库,它能将表单与模型中的对象绑定。库的前缀可以使用“sf”或“form”。
-
form标签库除了能绑定模型对象之外还能使用<form:errors>输出校验错误信息。
-
<form:lable>还有一个cssErrorClass属性,如果它绑定的属性有任何错误的话,在渲染得到的<lable>元素中class的属性会被设置为error。
-
除了form标签,Spring还提供了一个通用标签,通常以‘s’为前缀。它有很多功能。例如,<s:message>可以实现网站的国际化,<s:url>可以用来创建url,<s:escapeBody>是一个通用的转义标签。
使用Apache Tiles定义视图布局
-
使用Tiles需要一个TilesConfigurer bean还有TilesViewResolver解析器。
-
它可以利用xml文件将多个JSP文件布局在一个页面上。
使用Thymeleaf
-
为了要在Spring中使用Thymeleaf我们需要配置三个bean
-
ThymeleafViewResolver(视图解析器,它会接受一个逻辑视图名称并将其解析为视图)
-
SpringTemplateEngine(在Spring中启用Thymeleaf引擎)
-
TemplateResolver(类似之前使用的InternalResourceViewResolver,用它设定视图的前缀和后缀)。
-
-
Thymeleaf的简单使用。