이 기사는 Spring Boot 및 Kotlin을 소개하여 Thymeleaf 템플릿 엔진을 사용하여 웹보기를 렌더링합니다.
정적 리소스 액세스
웹 응용 프로그램을 개발할 때는 JS, CSS 및 이미지와 같은 많은 정적 리소스를 참조해야합니다. Spring Boot 및 Kotlin을 사용하여 이러한 정적 자원을 지원하는 방법은 무엇입니까? , 매우 간단합니다.
기본 구성
Spring Boot는 기본적으로 정적 리소스 디렉토리 위치를 제공하며 ClassPath에 배치해야하며 디렉토리 이름은 다음 규칙을 준수해야합니다.
/static/public/resources/meta-inf/resources
예 : SRC/Main/Resources/Directory에서 정적을 만들고 해당 위치에 이미지 파일을 배치 할 수 있습니다. 프로그램을 시작한 후 http : // localhost : 8080/ruby.jpg에 액세스하십시오. 사진을 표시 할 수 있으면 구성이 성공적입니다.
웹 페이지 렌더링
이전에는 요청이 @RestController를 통해 처리되었으며 반환 된 컨텐츠는 JSON 객체였습니다. HTML 페이지를 렌더링 해야하는 경우 구현 방법은 무엇입니까?
템플릿 엔진
Spring Boot에서 권장하는 템플릿 엔진에서 동적 웹 사이트를 신속하게 시작할 수 있습니다.
Spring Boot는 다음 기본 유형의 기본 구성 템플릿 엔진을 제공합니다.
Thymeleaffreemarkergroovymustache
Spring Boot는 JSP 사용을 피하기 위해이 템플릿 엔진을 사용하는 것이 좋습니다. JSP를 사용해야하는 경우 Spring Boot의 다양한 기능을 구현할 수 없습니다. 자세한 내용은 다음 텍스트를 참조하십시오 : 지원 JSP 구성.
위의 템플릿 엔진을 사용하면 기본 템플릿 구성 경로는 SRC/Main/Resources/Templates입니다. 물론,이 경로는 수정 될 수도 있습니다. 자세한 내용은 후속 템플릿 엔진의 구성 속성에서 쿼리 및 수정할 수 있습니다.
thymeleaf
Thymeleaf는 웹 및 비 WEB 환경 모두에서 애플리케이션 개발에 사용할 수있는 XML/XHTML/HTML5 템플릿 엔진입니다. Apache License 2.0 라이센스를 기반으로 한 오픈 소스 Java 라이브러리이며 Java Encryption Library Jasypt의 저자 인 Daniel Fernández가 작성했습니다.
Thymeleaf는 스프링 MVC를 통합하기위한 선택적 모듈을 제공합니다. 애플리케이션 개발에서 Thymeleaf를 사용하여 프리 마커 등과 같은 JSP 또는 기타 템플릿 엔진 등을 완전히 교체 할 수 있습니다. Thymeleaf의 주요 목표는 브라우저에서 올바르게 표시 할 수있는 잘 형성된 템플릿 작성 방법을 제공하는 것입니다. 따라서 정적 모델링으로도 사용할 수 있습니다. 검증 된 XML 및 HTML 템플릿을 생성하는 데 사용할 수 있습니다. 논리 또는 코드 작성과 비교할 때 개발자는 단순히 템플릿에 태그 속성을 추가하면됩니다. 다음으로,이 태그 속성은 DOM (문서 개체 모델)에서 사전 형성 된 로직을 실행합니다.
샘플 템플릿 :
<! docType html> <html xmlns : th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke.name </head> <h1 th : text = "$ {hello}"> 세계 </h1> </body> </html>Thymeleaf는 주로 속성 형태로 HTML 태그에 추가된다는 것을 알 수 있습니다. 브라우저가 HTML을 구문 분석하면 속성이 없는지 확인하면 무시합니다. 따라서 Thymeleaf의 템플릿은 브라우저를 통해 직접 기록 될 수 있으며, 이는 전면 및 후면의 분리에 매우 도움이됩니다.
Spring Boot에서 Thymeleaf를 사용하려면 다음 종속성 만 소개하고 기본 템플릿 경로 SRC/Main/Resources/Templates 아래에 템플릿 파일을 작성하여 완료하면됩니다.
"org.springframework.boot : spring-boot-starter-thymeleaf : $ spring_boot_version"을 컴파일합니다.
구성을 완료 한 후 간단한 예제를 제시하십시오. 간단한 예제, Quick Start 프로젝트를 기반으로 Thymeleaf를 통해 페이지를 렌더링 할 간단한 예제를 제공하십시오.
import org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/*** http://quanke.name에 의해 생성 된 2018/1/10. */ @controllerclass hellocontroller {@requestmapping ( "/") fun index (map : modelmap) : 문자열 {// 템플릿에서 템플릿의 이름, 템플릿/자원/explate/index/index에 해당하는 템플릿 파일의 이름에서 map.addattribute ( "호스트", "http://quanke.name")를 읽기 위해 속성을 추가합니다. " }}기본적으로 SRC/Main/Resources/Templates 디렉토리에 index.html 파일을 추가하십시오.
<! docType html> <html xmlns : th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke.name </head> <h1 th : text = "$ {hello}"> 세계 </h1> </body> </html>Kotlin 언어를 사용하여 구현 된 Spring Boot 스타트 업 방법 추가 :
import org.springframework.boot.springApplicationimport org.springframework.autoconfigure.springbootapplication/*** http://quanke.name 2018/1/9에 의해 생성되었습니다. */@SpringBootApplicationClass ApplicationFun Main (Args : Array <string>) {SpringApplication.Run (Application :: Class.java, *args)}위 페이지에서 볼 수 있듯이 HTML 페이지를 직접 열면 Hello World를 표시 할 수 있지만 프로그램을 시작한 후 http : // localhost : 8080/을 방문하여 컨트롤러의 호스트 값을 표시하여 http://quanke.name을 방문하여 HTML의 컨텐츠를 파괴하지 않고 데이터의 논리적 분리를 달성합니다.
더 많은 Thymeleaf의 페이지 구문을 보려면 쿼리를위한 Thymeleaf의 공식 문서를 방문하십시오.
Thymeleaf 기본 매개 변수 구성
기본 구성을 수정 해야하는 경우 아래를 Application.yML로 수정하려는 속성을 복사하고 템플릿 파일의 확장 수정, 기본 템플릿 경로 수정 등과 같은 필요한 값으로 수정하십시오.
# 템플릿 캐싱 .spring.thymeleaf.cache = true # templates 위치가 존재하는지 확인합니다. encoding.spring.thymeleaf.encoding = utf-8 # resolution.spring.thymeleaf.excluded-view-names = # 템플릿 모드에서 제외 해야하는 뷰 이름 목록. 또한 표준 templatemodehandlers.spring.thymeleaf.mode = html5 # url.spring.thymeleaf.prefix = classpath :/ 템플릿/ # toldix를 구축 할 때 이름을 부여 할 때 URL.spring.thymeleaf.prefix = classpates/ # toldix를 참조하십시오. Spring.thymeleaf.template-Resolver-Order = # 체인에서 템플릿 리졸버의 순서. spring.thymeleaf.view-names = # comma-separated view 이름 목록을 해결할 수 있습니다.
예상치 못한 문제를 피하기 위해 환경 또는 개발 환경. 일반 설정 : spring.thymeleaf.cache = true
JSP 구성을 지원합니다
Spring Boot는 권장되지 않지만 사용해야하는 경우이 프로젝트를 스캐 폴딩으로 지정할 수 있습니다. JSP 지원
일반적으로 Kotlin은 Spring Boot를 잘 지원합니다. Java에서 Spring Boot를 사용하여 Kotlin으로 번역하면됩니다.
요약
위는 Thymeleaf Template 엔진을 사용하여 Spring Boot와 Kotlin이 소개하여 웹보기를 렌더링하는 방법입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!