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

Springboot无法使用Thymeleaf加载我的超文本标记语言页面

孔俊友
2023-03-14

已经讨论过这些话题,但没有对我起作用:

  1. Topic1我的项目中没有@EnableWebMvc注释

这是我用于Thymeleaf的依赖项:


<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.0.11.RELEASE</version>
</dependency>

  • 我的新控制器名为ViewController
package myrest.Viewcontroller;

//Imports

@Controller
public class ViewController {


    public static String uploadDirectory = System.getProperty("user.dir")+"/uploads";
    @RequestMapping("/uploadendpoint")
    public String uploadPage(Model model)
    {
        return "uploadView";
    }

}
  • 名为uploadView的HTML。html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8"></meta>
<title>Insert title here</title>
</head>
<body>

<form action = "/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="files" multiple>
    <input type="submit" value="Upload Files"></input>

</form>

</body>
</html>

  • 项目结构:

我的评论:我仍然得到一个白标签错误页面,位于本地主机:8082/uploadendpoint

编辑1:

我的SpringBootApplication类

package myrest;

import java.io.File;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;

import myrest.Viewcontroller.ViewController;
import myrest.controller.MainController;

@SpringBootApplication
public class RemoteapiApplication {

    public static void main(String[] args) {
        new File(ViewController.uploadDirectory).mkdir();
        SpringApplication.run(RemoteapiApplication.class, args);
    }

}

<代码>应用程序。属性文件:

server.port:8082
spring.servlet.multipart.max-file-size=15MB
spring.servlet.multipart.max-request-size=15MB

服务器的日志

2020-01-07 14:37:56.708  INFO 9317 --- [  restartedMain] myrest.RemoteapiApplication              : Starting RemoteapiApplication on ZenbookPro with PID 9317 (/home/pihill/Documents/workspace-sts-3.9.9.RELEASE/remoteapi/target/classes started by pihill in /home/pihill/Documents/workspace-sts-3.9.9.RELEASE/remoteapi)
2020-01-07 14:37:56.708  INFO 9317 --- [  restartedMain] myrest.RemoteapiApplication              : No active profile set, falling back to default profiles: default
2020-01-07 14:37:56.770  WARN 9317 --- [  restartedMain] org.apache.tomcat.util.modeler.Registry  : The MBean registry cannot be disabled because it has already been initialised
2020-01-07 14:37:56.781  INFO 9317 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8082 (http)
2020-01-07 14:37:56.782  INFO 9317 --- [  restartedMain] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2020-01-07 14:37:56.782  INFO 9317 --- [  restartedMain] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.29]
2020-01-07 14:37:56.784  INFO 9317 --- [  restartedMain] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2020-01-07 14:37:56.784  INFO 9317 --- [  restartedMain] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 75 ms
2020-01-07 14:37:56.801  INFO 9317 --- [  restartedMain] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-01-07 14:37:56.814  INFO 9317 --- [  restartedMain] o.s.b.d.a.OptionalLiveReloadServer       : LiveReload server is running on port 35729
2020-01-07 14:37:56.820  INFO 9317 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8082 (http) with context path ''
2020-01-07 14:37:56.820  INFO 9317 --- [  restartedMain] myrest.RemoteapiApplication              : Started RemoteapiApplication in 0.119 seconds (JVM running for 2930.389)
2020-01-07 14:37:56.821  INFO 9317 --- [  restartedMain] .ConditionEvaluationDeltaLoggingListener : Condition evaluation unchanged
2020-01-07 14:37:59.725  INFO 9317 --- [nio-8082-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2020-01-07 14:37:59.726  INFO 9317 --- [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2020-01-07 14:37:59.727  INFO 9317 --- [nio-8082-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms

白标错误页面:

共有3个答案

阎星河
2023-03-14

有时您使用的IDE(如intelliJ社区版本)不支持MVC,请检查您的IDE是否支持这些要求

叶稳
2023-03-14

在pom中添加依赖项。xml:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
 </dependency>

在src/main/resource/templates/test中添加Html文件。html(选择任意名称),然后将其与html标记一起添加:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> 

创建控制器以打开html文件:

@Controller
public class DemoController {

@GetMapping("/OpenTestFile")
    public String OpenTestFile(Model model) {
        return "test";
    }
}

使用此Url打开:

http://localhost:8082/OpenTestFile
云捷
2023-03-14

就像M. Deina说的那样。您正在使用Spring Boot,因此可以从使用starter包中获得好处。在spring-boot-starter-thymfol包中包含的依赖项比仅在org.thymeleaf3.0.11中包含的要多。释放。

在pom中替换此项。xml:

<dependency>
  <groupId>org.thymeleaf</groupId>
  <artifactId>thymeleaf</artifactId>
  <version>3.0.11.RELEASE</version>
</dependency>

有了这个:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

然后它就像迷人的。

 类似资料:
  • 我在研究Thymeleaf,发现在几乎所有的例子中,都有Thymeleaf的标记值和标准HTML值,比如: 这些标准标记值,如或等,被控制器忽略,不会在页面上呈现。 我想知道,让它们来提高代码可读性只是一种好的做法,还是最好删除它们来清理代码? 因为对于编译器来说,它们是无用的,对渲染结果没有任何影响。

  • 我是新来的。我想解析html,但问题是我们必须在中指定的URL,我将在运行时从其他页面响应此URL。有没有办法将收到的网址传递到中?我读过这样的东西: 但是我不知道如何使用它。我很想知道是否有其他方法比jsoup更好。

  • 对于上面的html内容,我如何使用Jsoup解析并获取文本 当我使用 我得到了这样的东西

  • 我正试图用Thymeleaf创建一个基于Spring Boot的应用程序。我使用PetClinic样本作为起点。我的应用程序找不到某些模板。 我的项目以标准方式设置: 波姆。xml MyWebApplication.java 家庭控制器。JAVA home.html layout.html application.properties是空的。 当我导航到时,我得到错误: 解析模板“{fragmen

  • 我想使用JQuery向没有值的HTML元素添加属性 添加所需的 如果属性后面没有,该怎么做?

  • 我正在尝试使用放心来检查服务器返回的HTML文档的一些属性。演示该问题的SSCCE如下所示: 现在,此尝试以,这是由所有可能的错误大约 30 秒左右后超时! 如果我用< code>xmlPathConfig()删除这一行。用()。功能(...)当特性“http://Apache . org/XML/features/disallow-DOCTYPE-decl”设置为true时,由于< code>D