SpringBootシリーズ:Spring BootテンプレートエンジンFreeMarkerを使用
2957 ワード
一、Javaテンプレートエンジン
テンプレートエンジン(ここでは特にWeb開発用のテンプレートエンジンを指す)は、ユーザインタフェースと業務データ(コンテンツ)を分離するために生成され、特定のフォーマットのドキュメントを生成することができ、ウェブサイト用のテンプレートエンジンは標準的なHTMLドキュメントを生成する.
Javaでは、主なテンプレートエンジンとしてJSP、Thymeleaf、FreeMarker、Velocityなどがあります.
前後の分離の台頭と流行に伴い、テンプレートエンジンはすでに冷遇されているが、多くの古いプロジェクトはjavaのテンプレートエンジンを使ってインタフェースをレンダリングしているが、たまに自分で練習プロジェクトを書いて、テンプレートエンジンを使うのも前後の分離より速い.
このシリーズでは、SpringBootがJSP、Thymeleaf、FreeMarkerをどのように統合するかを説明します.Velocityについては、高バージョンのSpringBootではVelocityはサポートされていません.ここでは説明しません.
この記事では、Spring BootがFreeMarkerを統合する方法について説明します.
一、Spring Boot集積FreeMarker
まず,コアのweb依存に加えてfreemarkerのstatrerを導入するだけで依存を導入する.
そしてプロファイルです.主にspring.freemarkerノードの下のビューファイルディレクトリtemplate-loader-pathおよびファイル接尾辞suffixを構成します.ローカル開発の場合、cacheはfalseに設定してキャッシュを閉じ、ファイルを変更した後にサービスを再起動する必要がないようにします.
次にresoucresディレクトリの下にtemplatesディレクトリを新規作成し、hello.ftlファイルとmv.ftlファイルをそれぞれ新規作成します.
ここでは主にFreeMarkerを統合する方法を説明し,FreeMarker構文についてあまり説明しないので,簡単なhtmlファイルを2つだけプレゼンテーションとして提供した.
次に、Controllerクラスルーティングページを作成します.このページは非常に簡単で、helloページをジャンプし、name=imyangを携帯してmvページをジャンプします.
プロジェクトの開始、個別アクセスhttp://localhost:10900/index/helloおよびhttp://localhost:10900/index/mvあ、すでにページ情報が表示されているのが見えます.
ソースアドレス:https://github.com/imyanger/s...
テンプレートエンジン(ここでは特にWeb開発用のテンプレートエンジンを指す)は、ユーザインタフェースと業務データ(コンテンツ)を分離するために生成され、特定のフォーマットのドキュメントを生成することができ、ウェブサイト用のテンプレートエンジンは標準的なHTMLドキュメントを生成する.
Javaでは、主なテンプレートエンジンとしてJSP、Thymeleaf、FreeMarker、Velocityなどがあります.
前後の分離の台頭と流行に伴い、テンプレートエンジンはすでに冷遇されているが、多くの古いプロジェクトはjavaのテンプレートエンジンを使ってインタフェースをレンダリングしているが、たまに自分で練習プロジェクトを書いて、テンプレートエンジンを使うのも前後の分離より速い.
このシリーズでは、SpringBootがJSP、Thymeleaf、FreeMarkerをどのように統合するかを説明します.Velocityについては、高バージョンのSpringBootではVelocityはサポートされていません.ここでは説明しません.
この記事では、Spring BootがFreeMarkerを統合する方法について説明します.
一、Spring Boot集積FreeMarker
まず,コアのweb依存に加えてfreemarkerのstatrerを導入するだけで依存を導入する.
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-freemarker
そしてプロファイルです.主に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
次にresoucresディレクトリの下にtemplatesディレクトリを新規作成し、hello.ftlファイルとmv.ftlファイルをそれぞれ新規作成します.
hello freemarker
mv freemarker
I'm ${name} from mv method
ここでは主にFreeMarkerを統合する方法を説明し,FreeMarker構文についてあまり説明しないので,簡単なhtmlファイルを2つだけプレゼンテーションとして提供した.
次に、Controllerクラスルーティングページを作成します.このページは非常に簡単で、helloページをジャンプし、name=imyangを携帯してmvページをジャンプします.
@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/s...