在springmvc.xml中编写Thymeleaf视图解析器
时间: 2023-05-29 15:03:10 浏览: 282
SpringMVC及视图解析器
1. 首先,在Spring配置文件中添加Thymeleaf依赖:
```xml
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
<version>3.0.11.RELEASE</version>
</dependency>
```
2. 然后,在Spring MVC配置文件中配置Thymeleaf视图解析器:
```xml
<!-- 配置Thymeleaf视图解析器 -->
<bean id="templateResolver"
class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".html" />
<property name="templateMode" value="HTML" />
</bean>
<bean id="templateEngine"
class="org.thymeleaf.spring5.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
<property name="enableSpringELCompiler" value="true" />
</bean>
<bean class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="characterEncoding" value="UTF-8" />
</bean>
```
在上面的配置中,我们定义了一个Thymeleaf的模板解析器(templateResolver),用于解析模板文件。我们指定了模板文件的前缀和后缀,以及模板文件的类型(HTML)。接着,我们创建一个Thymeleaf的模板引擎(templateEngine),并将模板解析器注入到该引擎中。最后,我们定义了一个Thymeleaf的视图解析器(ThymeleafViewResolver),并将模板引擎注入到该解析器中。
3. 在Controller中返回Thymeleaf视图:
```java
@RequestMapping("/hello")
public String hello(Model model) {
model.addAttribute("name", "Thymeleaf");
return "hello";
}
```
在上面的Controller中,我们使用Model对象将一个名为“name”的属性值设置为“Thymeleaf”,并将视图名设置为“hello”。由于我们在Spring MVC配置文件中配置了Thymeleaf视图解析器,因此,Spring会自动将该视图名解析成“/WEB-INF/views/hello.html”文件,并将模板文件中的变量替换成具体的值,最终生成HTML页面。
4. 在Thymeleaf模板文件中使用变量:
```html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Hello Thymeleaf</title>
</head>
<body>
<h1>Hello, <span th:text="${name}"></span>!</h1>
</body>
</html>
```
在上面的模板文件中,我们使用了Thymeleaf的语法,在页面中输出了变量“name”的值。在Thymeleaf中,我们可以使用“${变量名}”的语法来输出变量的值。
阅读全文