Spring Boot 는 어떻게 템 플 릿 엔진 FreeMarker 를 통합 합 니까?

자바 템 플 릿 엔진
템 플 릿 엔진(여기 서 웹 개발 에 사용 되 는 템 플 릿 엔진)은 사용자 인터페이스 와 업무 데이터(내용)를 분리 시 키 기 위해 만들어 진 것 으로 특정한 형식의 문 서 를 생 성 할 수 있 으 며 사이트 의 템 플 릿 엔진 에 사용 되 는 표준 HTML 문 서 를 생 성 할 수 있 습 니 다.
자바 에서 주요 템 플 릿 엔진 은 JSP,Thymeleaf,FreeMarker,Velocity 등 이 있다.
앞 뒤 가 분리 되 고 유행 하면 서 템 플 릿 엔진 은 소외 되 었 지만 많은 오래된 프로젝트 들 은 자바 의 템 플 릿 엔진 렌 더 링 인터페이스 를 사용 하고 가끔 은 스스로 연습 항목 을 쓰 며 템 플 릿 엔진 을 사용 하 는 것 도 앞 뒤 가 분리 되 는 것 보다 빠르다.
이 시 리 즈 는 SpringBoot 가 JSP,Thymeleaf,FreeMarker 를 어떻게 통합 하 는 지 설명 한다.Velocity 에 대해 서 는 고 버 전의 SpringBoot 가 Velocity 를 지원 하지 않 는 다.여기 서도 설명 하지 않 는 다.
이 편 은 주로 Spring Boot 가 FreeMarker 를 어떻게 통합 하 는 지 설명 한다.
2.스프링 부츠 통합 FreeMarker
우선 우 리 는 의존 을 도입 해 야 한다.핵심 웹 의존 을 제외 하고 freemarker 의 statrer 만 도입 하면 된다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--freemarker  -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
그리고 프로필 이 야.주로 spring.freemarker 노드 의 보기 파일 디 렉 터 리 template-loader-path 와 파일 접미사 suffix 를 설정 합 니 다.로 컬 개발 이 라면 cache 는 false 로 캐 시 를 닫 고 파일 을 수정 한 후 서 비 스 를 다시 시작 하지 않도록 설정 할 수 있 습 니 다.

server:
 port: 10900

spring:
 profiles:
  active: dev
 freemarker:
  enabled: true #    freemarker
  template-loader-path: classpath:/templates/ #         ,       
  suffix: .ftl #       
  content-type: text/html
  check-template-location: true #            
  cache: false #        
  charset: UTF-8 #    
  #      
  allow-request-override: false #    HttpServletRequest    (  )            
  allow-session-override: false #    HttpSession    (  )            
  expose-request-attributes: false #    request    merge      ,       model 
  expose-session-attributes: false #   merge     , HttpSession      model 
  expose-spring-macro-helpers: true #     springMacroRequestContext     RequestContext Spring's macro library  
  prefer-file-system-access: true #           template,      ,   true
그리고 resources 디 렉 터 리 에 templates 디 렉 터 리 를 새로 만 들 었 습 니 다.각각 hello.ftl 과 mv.ftl 파일 을 새로 만 들 었 습 니 다.

<h3>hello freemarker</h3>

<!DOCTYPE html>
<html lang="en">
  <h3>mv freemarker</h3>
  <span>I'm ${name} from mv method</span>
</html>
여기 서 FreeMarker 를 어떻게 통합 하 는 지 설명 하고 FreeMarker 문법 에 대해 너무 많은 설명 을 하지 않 기 때문에 두 개의 간단 한 html 파일 만 프레젠테이션 으로 제공 합 니 다.
이 어 Controller 류 경로 페이지 를 만 듭 니 다.이 종 류 는 매우 간단 합 니 다.hello 페이지 를 뛰 어 넘 고 name=imyang 을 가지 고 뮤 직 비디오 페이지 를 뛰 어 넘 습 니 다.

@Controller
@RequestMapping("index")
public class IndexApi {

  @RequestMapping("/hello")
  public String hello(){
    return "hello";
  }

  @RequestMapping("/mv")
  public ModelAndView mv(){
    ModelAndView mv = new ModelAndView("mv");
    mv.addObject("name","yanger");
    return mv;
  }

}
항목 시작,각각 접근http://localhost:10900/index/hello화해시키다http://localhost:10900/index/mv페이지 정 보 를 보 여줄 수 있 습 니 다.

원본 주소:https://github.com/imyanger/springboot-project/tree/master/p19-springboot-freemarker
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기