Spring Boot+Thymeleaf開發web專案從入門到精通實戰教程
也許,正在對著鍵盤敲程式碼中的很多人或者是你,我們可能都知道spring boot怎麼進行介面開發,但是像之前在spring boot + Thymeleaf開發web專案的過程中,會有一點點小問題我們會忽視,今天我就來講講怎麼實現頁面跳轉,完成一個web專案。我就藉助Thymeleaf模板引擎來舉例:
匯入相關jar包(pom)
<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
但是這個時候你可能會有一些其他想到的方面,我們現在做了一個關於23體驗網的簡介。可知道: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...),或者是http://www.23tiyan.com,更多的是進一步加深學習。
可以看出,初始化的預設頁面路徑在classpath:/templates/ 下,檢視字尾為.html。也可以根據自己的喜號在application.yml檔案中 指定spring.thymeleaf.** =** 來指定值
實現請求URL
/**
* @描述 使用者相關頁面請求
* @注意 此類只能用@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";
}
}
我就不改動了,採用預設值來完成這個spring boot + Thymeleaf開發web專案。