我是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
任何人都可以为此提供任何合适的解决方案吗?
答案 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