springmvc使用thymeleaf解析器转发WEB-INF下的的资源示例代码
时间: 2024-10-12 12:18:14 浏览: 28
Spring MVC 中使用 Thymeleaf 解析器处理 Web-INF 下的静态资源通常涉及设置视图解析路径和模板文件的引用。首先,在 SpringMVC 的配置文件 `applicationContext.xml` 或 `spring-boot-autoconfigure.xml` 中,配置 Thymeleaf 配置:
```xml
<bean id="viewResolver" class="org.thymeleaf.spring4.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine"/>
<!-- 设置Thymeleaf解析器查找视图的位置 -->
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".html"/>
</bean>
<!-- 如果使用的是Spring Boot,则可以在 Application.properties或YAML文件中配置 -->
spring.thymeleaf.prefix=classpath:/WEB-INF/views/
spring.thymeleaf.suffix=.html
```
然后在你的控制器方法中,你可以像这样使用 Thymeleaf 的表达式语言来引用资源:
```java
import org.springframework.web.servlet.ModelAndView;
@Controller
public class YourController {
@GetMapping("/your-resource")
public ModelAndView getResource() {
// 假设你想从Web-INF目录下引入css文件
String cssUrl = "resources/css/main.css";
ModelAndView modelAndView = new ModelAndView("your-template");
modelAndView.addObject("cssUrl", cssUrl);
return modelAndView;
}
}
```
在这个例子中,当访问 `/your-resource` 地址时,Thymeleaf 会自动加载并解析 `WEB-INF/views/your-template.html` 文件,并插入 `{@thymesVar id="cssUrl" value="${cssUrl}"}` 这样的表达式,将 `main.css` 资源链接到页面上。
阅读全文