많은 개발이 현재 프론트 엔드와 백엔드의 완전히 별도의 모델을 채택하지만, 즉, 백엔드는 데이터 인터페이스 만 제공하고 프론트 엔드는 템플릿 엔진이 필요하지 않은 AJAX 요청을 통해 데이터를 얻습니다. 이 방법의 장점은 전면 및 후면이 완전히 분리되어 있으며 최근 몇 년 동안 프론트 엔드 엔지니어링 도구와 MVC 프레임 워크가 개선 되면서이 모델의 유지 보수 비용이 상대적으로 낮다는 것입니다. 그러나이 모드는 SEO에 도움이되지 않으며 성능이 약간 악화됩니다. 전자 메일 템플릿과 같은 템플릿 엔진을 사용하는 것이 더 편리한 시나리오도 있습니다. 이 기사는 주로 템플릿 엔진 Thymeleaf, Freemaker 및 JSP와의 Spring Boot의 통합에 대해 설명합니다.
1. Thymeleaf 통합
1 단계 : JAR 패키지를 소개합니다 (Thymeleaf에 해당하는 스타터) :
<pectionency> <groupId> org.springframework.boot </groupid> <artifactid> 스프링-부트 스타터 -thymeleaf </artifactid> </fectionency>
2 단계 : Thymeleaf 구성 :
Spring : Thymeleaf : Prefix : Classpath :/템플릿/체크 테마 플레이트-위치 : True Cache : False 접미사 : .html 인코딩 : UTF-8 Content-Type : Text/HTML 모드 : HTML5
접두사 : 템플릿이있는 디렉토리를 지정하십시오
체크 템플릿-위치 : 템플릿 경로가 존재하는지 확인하십시오
캐시 : 캐시 여부, 개발 모드에서 False로 설정하고 템플릿을 변경하고 서버를 다시 시작하지 마십시오. 진정한 온라인으로 설정하면 성능이 향상 될 수 있습니다.
인코딩 및 콘텐츠 유형 : 모든 사람은 이에 익숙해야하며, 이는 서블릿에 설정된 해당 속성과 일치합니다.
모드 : 공식 웹 사이트의 지침을 참조하십시오. 이는 2.X 및 3.0입니다. 이 기사에서 자동으로 소개 된 패키지는 2.15입니다.
세 번째 단계는 Thymeleaf 템플릿 파일을 작성하는 것입니다.
<! docType html> <html xmlns = "http://www.w3.org/1999/xhtml"xmlns : th = "http://www.thymeleaf.org"> <head> <메타 내용 = "text/html; charset = itf-8"/>>>>> </head> </html 템플릿 엔진 </h6> <table bgcolor = "#f0ffff"> <thead> <th> 일련 번호 </th> <th> 제목 </th> <tht> 요약 </th> <t> 제작 시간 </th> </tr> </tour> <tbody th : eary = "arrize : $ {list}"> <td> <td th : text = "$ {article.title}"> </td> <td th : text = "$ {article.summary}"> </td> <td th : text = "$ {article.createTime}"> </td> </td> </tbody> </tables> </html>보시다시피, Thymeleaf는 비교적 간단하며 가장 큰 기능은 태그가 HTML 요소의 속성으로 존재한다는 것입니다. 즉, 페이지는 브라우저를 통해 직접 미리 볼 수 있지만 데이터는 없습니다. 이것은 모든 사람이 디버그하는 데 매우 편리합니다.
4 단계 : 컨트롤러 구성 :
@controller @requestmapping ( "/article") 공개 클래스 ArticleController {@autowired private articleService articleService; @requestmapping ( "/articlelist.html") public String getarticlelist (모델 모델, 문자열 제목, @requestparam (defaultValue = "10") 정수 pagesize, @requestparam (defaultValue = "1") {int atperset = (pagenum- 1) * pagesize; list <article> list = articleService.getArticles (제목, 1L, 오프셋, pagesize); model.addattribute ( "목록", 목록); "기사/articlelist"를 반환합니다. }}@RestController는 return 결과를 문자열로 자동 변환하기 때문에 여기에 사용 된 주석은 @RestController가 아닌 @Controller입니다.
5 단계 결과를 봅니다
2. Spring Boot와 Freemarker의 통합
1. JAR 패키지 소개 (프리 마커에 해당하는 스타터)
<pectionency> <groupid> org.springframework.boot </groupid> <artifactid> 스프링 부트 스타터-프리 마커 </artifactid> </fectionency>
2. 프리 마커 구성 :
스프링 : 프리 마커 : 템플릿로드-폴라 : classpath :/템플릿/접미사 : .ftl 컨텐츠 -type : 텍스트/html charset : utf-8 설정 : 숫자 _format : '0. ##'
설정 외에도 다른 구성 옵션은 Thymeleaf와 유사합니다. 설정은 날짜 형식, 번호 형식 등과 같은 프리 마커의 일부 동작에 영향을 미칩니다. 관심있는 학생들은 공식 웹 사이트에서 제공하는 지침을 참조 할 수 있습니다 : https://freemarker.apache.org/docs/api/freemarker/template/configuration.html#setsetting-java.lang.string-java.
3. 프리 마커 템플릿 파일 쓰기 :
<html> <title> 기사 목록 </title> <body> <h6> 프리 마커 템플릿 엔진 </h6> <thead> <tr> <th> 시리얼 번호 </th> <th> title </th> <th> 요약 </th> <t> 제작 시간 </th> </tr> </thead> <#list as as awry <td> <td> <td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime? String ( 'yyyy-mm-dd hh : mm : ss')}}} </td> </tr> </#list> </table> </html>4. 쓰기 컨트롤러 :
@controller @requestmapping ( "/article") 공개 클래스 ArticleController {@autowired private articleService articleService; @requestmapping ( "/list.html") public String getArticles (모델 모델, 문자열 제목, @requestparam (defaultValue = "10") 정수 pagesize, 정수 pagenum) {if (pagesize == null) {pagesize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum -1) * pagesize; list <article> list = articleService.getArticles (제목, 1L, 오프셋, pagesize); model.addattribute ( "목록", 목록); "기사/목록"을 반환합니다. }}5. 페이지 방문 :
3. Sring Boot는 JSP와 통합됩니다.
공식적인 프로젝트 개발에서 JSP 템플릿은 현재 거의 사용되지 않으므로 Spring Boot는 JSP를 잘 지원하지 않으므로 Thymeleaf 및 Freemaker보다 구성하는 것이 비교적 더 복잡합니다.
첫 번째 단계는 JAR 패키지를 소개하는 것입니다.
<pectionency> <groupId> javax.servlet </groupid> <artifactid> jstl </artifactid> </expendency> <prection> <groupid> org.apache.tomcat.embed </groupid> <artifactid> tomcat-embed-jasper </artifactid> </expendency>
첫 번째 JSTL 종속성은 EL 표현식을 지원하는 데 사용되며 두 번째는 JSP를 지원하는 데 사용됩니다. 외부 Tomcat에서 실행중인 경우 JAR 패키지 충돌을 방지하기 위해 제공하는 범위를 설정해야합니다.
2 단계 : WebApp 디렉토리를 수동으로 만듭니다.
기본 디렉토리에서 수동으로 WebApp 디렉토리를 만들어야하며 다음과 같이 구조가 있습니다.
3 단계 JSP 도로 강도 구성 :
Application.yml에 다음 구성을 추가하십시오.
스프링 : MVC :보기 : prefix :/web-inf/jsp/접미사 : .jsp
Spring MVC를 이해하는 사람들은 위의 구성에 익숙해야합니다.
4 단계 : JSP 페이지 작성 :
<%@ page contenttype = "text/html; charset = utf-8"language = "java"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core"prefix = "c"%> <html> <head> <title> title> </head> <c. 항목 = "$ {list}"> <tr> <td> $ {article.id} </td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime} </td> </c : </body> </body> </c :5 단계 : 컨트롤러 작성 :
@requestmapping ( "/listjsp") public string getarticlelistjsp (모델 모델, 문자열 제목, @requestparam (defaultValue = "10") 정수 pageize, 정수 pagenum) {if (pagesize == null) {pagesize = 10; } if (pagenum == null) {pagenum = 1; } int offset = (pagenum -1) * pagesize; list <article> list = articleService.getArticles (제목, 1L, 오프셋, pagesize); model.addattribute ( "목록", 목록); "기사"를 반환합니다. }6 단계 결과 페이지에 액세스하려면 :
4. 요약
전반적으로 Spring Boot는 Thymeleaf 및 Freemaker 지원에 친숙하며 구성은 비교적 간단합니다. 실제 개발에서 대부분은 주로이 두 템플릿 엔진을 기반으로하며 JSP가 거의 없습니다. 실험 또는 학습 단계에서 JSP가 더 많이 사용될 수 있습니다. JSP 구성에서 가장 번거로운 것은 처음 두 가지와 다르다는 것입니다. 온라인 진술은 기본적으로 동일하지만 JSP 구성에 대한 많은 진술은 JAR 패키지를 전쟁 패키지로 변경 해야하는지 여부와 같은 많은 설명이 있습니까? JSP의 종속성은 제공하도록 설정해야합니까? 이는 주로 프로그램을 결국 외부 Tomcat에 배치할지 여부에 따라 달라 지거나 병을 직접 실행할 것인가? 이 기사는 아이디어에 따라 응용 프로그램 클래스를 직접 실행하기 때문에 이러한 작업은 필요하지 않습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.