无法使用Thymeleaf解析View

时间:2018-03-02 15:28:41

标签: java spring spring-boot thymeleaf

我是Thymeleaf的新手。我正在视图中使用百里香叶创建一个弹簧启动应用程序。

请在下面找到我的pom.xml文件[仅限依赖项部分]:

svg.append("g")
  .selectAll("path")
    .data(topojson.feature(br, br.objects.states).features)
    .enter().append("path")
      .attr("class", "states")
      .attr("fill", function(d) { return color(valueByÚF.get(d.UF)); })
      .attr("d", path)
    .append("title")
      .text(function(d) { return "UF: "+ d.UF; });

我在以下位置创建了一个application.properties文件: src / main / resources

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.10.RELEASE</version>
 </parent>
 <properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 </properties>
 <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>
  </dependencies>

以下是我的启动应用程序主类:

server.port = 8086
spring.mvc.static-path-pattern=/resources/**
spring.thymeleaf.prefix=/WEB-INF/views/
spring.thymeleaf.suffix=.html

我有一个控制器类如下:

@SpringBootApplication
@ComponentScan(basePackages="<common package structure>")
public class AdvMain extends SpringBootServletInitializer {

   @Override
   protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
      return application.sources(AdvMain.class);
    }

   public static void main(String[] args) {
    SpringApplication.run(AdvMain.class, args);
   }
}

当我调用以下网址时:

@Controller
public class HomeController {
    @RequestMapping(path = "/info", method = { RequestMethod.GET, RequestMethod.POST })
    public String info(Model model) {
       model.addAttribute("message", "Thymeleaf");
       return "info";
    }

    @RequestMapping(path = "/home", method = RequestMethod.GET)
    public String index() {
       return "index";
    }
 }

我发现找不到网页错误。

请在下面找到我的tomcat控制台日志:

http://localhost:8086/AddViewer/home

任何人都可以为此提供任何合适的解决方案吗?

2 个答案:

答案 0 :(得分:1)

这不是百里香的问题。
在控制台消息中,您有两个映射,/home/info

Mapped "{[/home],methods=[GET]}" onto public java.lang.String <package_Structure>.HomeController.index()
Mapped "{[/info],methods=[GET || POST]}" onto public java.lang.String <package_Structure>.HomeController.info(org.springframework.ui.Model)

但你发出了请求/AddViewer/home。因此,它与请求映射不匹配。

请求这样。

http://localhost:8086/home

答案 1 :(得分:0)

如果你使用thymeleaf将你的视图文件放在 src / main / resources / template 中,而不需要添加这两行 -

spring.thymeleaf.prefix=/WEB-INF/views/
spring.thymeleaf.suffix=.html