juo*_*juo 12 spring-mvc thymeleaf
我已经阅读了其他答案,但无论如何,谢谢
弹簧:
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
</bean>
<bean class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine" />
<property name="order" value="1" />
</bean>
Run Code Online (Sandbox Code Playgroud)
pom.xml中:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
<version>2.0.13</version>
</dependency>
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring3</artifactId>
<version>2.0.13</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
<scope>compile</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)
org.thymeleaf.exceptions.TemplateInputException:解析模板"login.html"时出错,模板可能不存在或任何已配置的模板解析器可能无法访问
你需要一个模板解析器吗?
尝试这样的事情:
<bean id="templateResolver"
class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<property name="prefix" value="/WEB-INF/" />
<property name="templateMode" value="HTML5" />
</bean>
Run Code Online (Sandbox Code Playgroud)
确保Spring MVC控制器返回/path/after/web-inf/login.html.
您可能缺少templateResolver配置中的"后缀"属性.最佳做法是在模板解析器配置中使用路径"前缀"(文件所在的位置)和"后缀"(文件扩展名 - 否则thymeleaf尝试仅解析"登录"而无扩展名) .像这样:
<beans:bean id="templateResolver" class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<beans:property name="prefix" value="/WEB-INF/views/"/>
<beans:property name="suffix" value=".html"/>
<beans:property name="templateMode" value="HTML5"/>
<beans:property name="cacheable" value="false"/> <!-- Development only -->
</beans:bean>
Run Code Online (Sandbox Code Playgroud)
并且在控制器内请求登录视图不包括文件扩展名.
@RequestMapping(value = "/login")
public String login(HttpSession session) {
// do stuff
// Thymeleaf (delegated by springmvc) will request the "login" view at which
// point the prefix and suffix are added to resolve the template location.
return "login";
}
Run Code Online (Sandbox Code Playgroud)
因此,基于此配置并在基于maven的项目中,login.html应位于
${project_home}/src/main/webapp/WEB-INF/views/login.html
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51005 次 |
| 最近记录: |