很多人,都知道spring boot怎么进行接口开发,今天我就来讲讲怎么实现页面跳转,完成一个web项目。我就借助Thymeleaf模板引擎来举例:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath />
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- thymeleaf模板引擎 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
</dependencies>
你用spring-boot-starter-parent是2.0以上时,对应的thymeleaf是3.0以上的版本,相对较新,不要改。如果你用的是spring-boot-starter-parent 1.5,对应的thymeleaf是2.0以上的版本,建议用thymeleaf3.0的。
包选择为:
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId> <!-- 如果spring是5:thymeleaf-spring5 -->
<version>3.0.9.RELEASE</version>
</dependency>
根据:WebMvcAutoConfiguration→addResourceHandlers→ResourceProperties 可知道:spring boot 默认的静态资源路径如下:
1、classpath:/ 2、classpath:/META-INF/resources/ 3、classpath:/resources/ 4、classpath:/static/ 5、classpath:/public/
也就是说可以直接访问以上路径中的文件。 如:
访问地址:http://127.0.0.1:8080/css/login.css (不需要加resources、static、public...)
可以看出,初始化的默认页面路径在classpath:/templates/ 下,视图后缀为.html。也可以根据自己的喜号在application.yml文件中 指定spring.thymeleaf.** =** 来指定值
我就不改动了,采用默认值
/**
* @描述 用户相关页面请求
* @注意 此类只能用@Controller 不能使用@RestController
* @author BianP
*/
@Controller
@RequestMapping("/user")
public class UserWebController {
/**
* @explain 用户登录《GET》
* @return String
* @author BianP
*/
@RequestMapping(value="/toLogin", method = RequestMethod.GET)
public String toLogin(Model model){
model.addAttribute("welcome", "欢迎登录");
return "login";
}
}