Spring 用 thymeleaf 启动不工作
Spring boot with thymeleaf doesn't work
POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.6.RELEASE</version>
</parent>
<dependencies>
<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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
申请
@SpringBootApplication
public class Application {
public static void main(String args[]){
SpringApplication.run(Application.class);
}
}
控制器
@Controller
@RequestMapping("/index")
public class IndexController {
@RequestMapping("/")
String index(){
return "index";
}
}
我在资源文件夹和 error.html 和 index.html
中也有模板文件夹
当我访问 localhost:8080/index 时,显示错误而不是索引。我究竟做错了什么?这确实是最简单的设置,而且已经出错了...
问题出在您的 IndexController
class 上。在您声明它的方式中,您可以通过以下方式访问您的页面:http://localhost:8080/index/
但不是 localhost:8080/index
url。这就是为什么你的方法有 class 注释 @RequestMapping
和相同的注释。
url 构造是某种层次结构 - 首先 spring 检查 class 注释然后你的方法注释和构建的请求映射处理程序是:host
+ port
+ "index"
+ "/"
。
POM
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>test</groupId>
<artifactId>test</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.6.RELEASE</version>
</parent>
<dependencies>
<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>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
申请
@SpringBootApplication
public class Application {
public static void main(String args[]){
SpringApplication.run(Application.class);
}
}
控制器
@Controller
@RequestMapping("/index")
public class IndexController {
@RequestMapping("/")
String index(){
return "index";
}
}
我在资源文件夹和 error.html 和 index.html
中也有模板文件夹当我访问 localhost:8080/index 时,显示错误而不是索引。我究竟做错了什么?这确实是最简单的设置,而且已经出错了...
问题出在您的 IndexController
class 上。在您声明它的方式中,您可以通过以下方式访问您的页面:http://localhost:8080/index/
但不是 localhost:8080/index
url。这就是为什么你的方法有 class 注释 @RequestMapping
和相同的注释。
url 构造是某种层次结构 - 首先 spring 检查 class 注释然后你的方法注释和构建的请求映射处理程序是:host
+ port
+ "index"
+ "/"
。