当前位置: 首页 > 知识库问答 >
问题:

Spring Thymeleaf无法解析模板

孔瑾瑜
2023-03-14

我的问题是我未能显示胸腺叶模板。我怀疑配置错误,但我似乎找不到它。提前感谢:)

波姆。xml:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
    </parent>
...
<properties>
        ...
        <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
        <thymeleaf-layout-dialect.version>2.0.3</thymeleaf-layout-dialect.version>
    </properties>
...
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>nz.net.ultraq.thymeleaf</groupId>
            <artifactId>thymeleaf-layout-dialect</artifactId>
        </dependency>

模板在:src/main/Resources/tem板/home.html

Spring配置:

server.servlet.context-path=/mityo
server.port=8080
...
spring.thymeleaf.enabled=true
spring.thymeleaf.cache=false
spring.thymeleaf.check-template=true
spring.thymeleaf.check-template-location=true
spring.thymeleaf.mode=html5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.suffix=.html
spring.thymeleaf.prefix=/resources/templates/

控制器:

@Controller
@RequestMapping("buy")
public class HomeController {

    public String buy(Model model) {
        return "home";
    }
}

我正在尝试访问:localhost:8080/mityo/buy并获得404。

另一件事,有人能解释(或给文档一个链接)哪个servlet被用来“返回”模板html吗?是Spring调度员servlet吗?

好的,所以我忘记了@GetMping,谢谢@Benjamin c.然而,添加它会产生:

org.thymeleaf.exceptions.TemplateInputException: Error resolving template "home", template might not exist or might not be accessible by any of the configured Template Resolvers

共有3个答案

丰辰沛
2023-03-14

若要避免404响应,请向Buy方法添加注释。

@GetMapping
public String buy(Model model) {
    return "home";
}
费德宇
2023-03-14

@RequestMapping(“/”)放在购买功能之前:

@RequestMapping("/")
public String buy(Model model) {
    return "home";
} 

如果类中有多个函数,springboot将不知道该请求将使用哪个函数SpringBootuseThymeleaf是模板默认值。你不需要配置。

拓拔意
2023-03-14

请删除配置:spring。百里香。prefix=/resources/templates/默认情况下,此位置是Thymeleaf引擎使用的位置。

更新:如果要更改默认位置(在资源目录下),可以使用:spring。百里香。前缀=类路径:/templates/

 类似资料:
  • 我不熟悉Spring5和SpringBoot。我试图用thymeleaf创建一个Spring5/spring启动应用程序。我想创建一个war,而不是使用带有spring boot的嵌入式Web服务器。 当我部署war时,我的应用程序启动,我可以访问src/main/resources/static/中的测试html页面,其中包含调用我的控制器的javascript。我可以在这些页面上执行到控制器和

  • 问题内容: 我见过几篇与此类型的错误相关的文章。但是我无法解决。 我的package.json: 我在webpack上遇到以下错误: 但是在我做的cmd行中 我得到3.10.10。反应场在那里。但是我不知道为什么它仍然会给出这个错误。 当我通过npm安装“ npm install react-dom”并运行webpack时,出现以下错误: 请帮忙。 问题答案: 未安装Issue ,当您点击时,它会

  • 非常简单的用例,我使用的是EclipseOxygen4.7。3a,包括来自Java9的支持。我有两个项目是Java 9项目: 我想在中使用类,因此我尝试将第二个模块导入第一个项目。 模块信息。java项目1: 模块信息。java项目2: Eclipse给了我错误: 项目二不能解析为模块 我是否必须将所有Java项目集中在一个“主项目”下,以便让Eclipse知道所有这些模块在其中都是可用的?还是我

  • 问题内容: 这是我在JSP文件中的Java代码。我正进入(状态 无法解析Base64Encoder。 为什么会这样呢?我必须添加与相关的内容。任何建议将不胜感激。 问题答案: 看起来您正在使用Web应用程序中包含的jar中不存在的类。您可以尝试以下吗?如有必要,请进行调整,我只是在查看通用文档,然后将其输入- 转到http://commons.apache.org/codec/index.html

  • 问题内容: 因此,我直接从Google的android网站复制了此教程示例内容,却收到一个错误,指出R.id无法解决。 这是我的Java文件 这是我的 问题答案: 您必须导入您的R类 同样,如需求发布一样,您必须为布局使用名称空间。