現在、多くの開発により、フロントエンドとバックエンドの完全に個別のモデルが採用されていますが、バックエンドはデータインターフェイスのみを提供し、フロントエンドはAJAXリクエストを介してデータを取得しますが、テンプレートエンジンは必要ありません。この方法の利点は、フロントエンドとバックエンドが完全に分離されており、近年、フロントエンドエンジニアリングツールとMVCフレームワークの改善により、このモデルのメンテナンスコストは比較的低いことです。ただし、このモードはSEOを助長せず、パフォーマンスがわずかに悪化します。また、テンプレートエンジンを使用すると、電子メールテンプレートなど、より便利になるシナリオもいくつかあります。この記事では、主に、スプリングブートとテンプレートエンジンのティーミン、フリーメーカー、JSPとの統合について説明します。
1。ティマーフを統合します
ステップ1:JARパッケージを紹介します(ThymeLeafに対応するスターター):
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-thymeleaf </artifactid> </dependency>
ステップ2:ThymeLeafを構成:
スプリング:Thymeleaf:Prefix:classpath:/templates/check-template-location:true cache:false suffix:.html encoding:utf-8 content-type:text/htmlモード:html5
プレフィックス:テンプレートが配置されているディレクトリを指定します
チェックテンペートロケーション:テンプレートパスが存在するかどうかを確認します
キャッシュ:キャッシュ、開発モードでfalseに設定するかどうか、テンプレートの変更とサーバーの再起動を避けます。 True Onlineに設定すると、パフォーマンスが向上する可能性があります。
エンコードとコンテンツタイプ:誰もがこれに精通している必要があります。これは、サーブレットに設定された対応する属性と一致しています。
モード:公式ウェブサイトの手順を参照してください。これは2.xと3.0です。この記事で自動的に導入されたパッケージは2.15です。
3番目のステップは、Thymeleafテンプレートファイルを作成することです。
<!doctype html> <html xmlns = "http://www.w3.org/1999/xhtml" xmlns:th = "http://www.thymeleaf.org"> <head> <meta content = "text/html; charset = utf-8"/> </head> <body> <h6> thymeleafテンプレートエンジン</h6> <table bgcolor = "#f0ffff"> <thead> <th <thead> <th <thead> <th </th> <th> the the the thead> the thead> the the the the </th> <th </th </the < $ {list} "> <tr> <td th:text =" $ {article.id} "> </td> <td th:text =" $ {article.title} "> </td> <td th:text =" $ {article.summary} "> </td> <td:" $ </td> </td> </td> </td> </tbody> </table> </body> </html>ご覧のとおり、Thymeleafは比較的単純であり、その最大の機能は、タグがHTML要素の属性として存在することです。つまり、ページはブラウザを介して直接プレビューできますが、データはありません。これは、誰もがデバッグするのに非常に便利です。
ステップ4:コントローラーの構成:
@controller @requestmapping( "/article")パブリッククラスArticLecontroller {@autowired private reciptivice arvice artictervice; @RequestMapping( "/articLeList.html")public string getArticLelist(モデルモデル、文字列タイトル、@RequestValue = "10")整数ページサイズ、@RequestParam( "1")integer pagenum){int offset =(pagenum -1) * pageize; List <portion> list = articleService.getArticles(title、1L、offset、pagesize); Model.Addattribute( "list"、list); 「記事/articleList」を返します。 }}@RestControllerがリターン結果を文字列に自動的に変換するため、ここで使用されるアノテーションは@RestControllerではなく@Controllerであることに注意してください。
ステップ5結果を表示します
2。スプリングブートとフリーマーカーの統合
1. JARパッケージを紹介します(FreeMarkerに対応するスターター)
<Dependency> groupId> org.springframework.boot </groupid> <artifactid> spring-boot-starter-freemarker </artifactid> </dependency>
2。freemarkerを構成します:
スプリング:FreeMarker:Template-Loader-Path:classPath:/Templates/suffix:.ftl content-type:text/html charset:utf-8設定:number_format: '0。##'
設定に加えて、他の構成オプションはThymeleafに似ています。設定は、日付の書式設定、数字の書式設定など、フリーマーカーのいくつかの動作に影響を与えます。興味のある学生は、公式ウェブサイト(https://freemarker.apache.org/docs/api/freemarker/template/configuration.html#ettinttint-java.lang.string-java.ling-java.ling.lang.lang.lang.lang.lang.lang.lang.lang.lang.lang.lang.lang.lang.
3.フリーマーカーテンプレートファイルを書き込む:
<html> <title>記事リスト</title> <body> <h6> freemarkerテンプレートエンジン</h6> <table> <thead> <tr> <th>シリアル番号</th> <th> summary </th> <th> summary </th> <>作成時間</th> </th> </th> </tr> < <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $ {article.createTime?string( 'yyyy-mm-dd hh:mm:ss')} </td> </tr </#</#</body> </html> </body> </html>4。コントローラーの書き込み:
@controller @requestmapping( "/article")パブリッククラスArticLecontroller {@autowired private reciptivice arvice artictervice; @RequestMapping( "/list.html")public string getArticles(モデルモデル、文字列タイトル、@RequestValue = "10")integer pageize、integer pagenum){if(pagesize == null){pagesize = 10; } if(pagenum == null){pagenum = 1; } int offset =(pagenum -1) * pagesize; List <portion> list = articleService.getArticles(title、1L、offset、pagesize); Model.Addattribute( "list"、list); 「記事/リスト」を返します。 }}5。ページにアクセスしてください:
3。SringBootはJSPと統合されています:
正式なプロジェクト開発では、JSPテンプレートがめったに使用されないため、Spring BootはJSPをサポートしていないため、ThymeleafやFreeMakerよりも構成する方が比較的複雑です。
最初のステップは、JARパッケージを紹介することです。
<依存関係> groupid> javax.servlet </groupid> <artifactid> jstl </artifactid> </dependency> <dependency> <groupid> org.apache.tomcat.embed> <artifactid> tomcat-embed-jasper </artifactid> </depency>
最初のJSTL依存関係はEL式をサポートするために使用され、2番目の依存性はJSPをサポートするために使用されます。外部Tomcatで実行されている場合は、JARパッケージの競合を防ぐために提供するためにスコープを設定する必要があることに注意してください。
ステップ2:WebAppディレクトリを手動で作成します。
メインディレクトリにWebAppディレクトリを手動で作成する必要があります。構造は次のとおりです。
ステップ3 JSP道路強度構成:
Application.ymlに次の構成を追加します。
スプリング:MVC:表示:プレフィックス:/web-inf/jsp/suffix:.jsp
Spring MVCを理解している人は、上記の構成に精通している必要があります。
ステップ4:JSPページを書く:
<%@ page contentType = "text/html; charset = utf-8"言語= "java"%> <%@ taglib uri = "http://java.sun.com/jsp/jstl/core"プレフィックス= " items = "$ {list}"> <tr> <td> $ {article.id} </td> <td> $ {article.title} </td> <td> $ {article.summary} </td> <td> $> {article.createTime}} </td> </c:</c:</c:ステップ5:コントローラーを書き込む:
@RequestMapping( "/listjsp")public string getArticLelistJSP(モデル、文字列タイトル、@RequestParam(defaultValue = "10")integer pagesize、integer pagenum){if(pagesize == null){pagesize = 10; } if(pagenum == null){pagenum = 1; } int offset =(pagenum -1) * pagesize; List <portion> list = articleService.getArticles(title、1L、offset、pagesize); Model.Addattribute( "list"、list); 「記事」を返します。 }ステップ6結果ページにアクセスするには:
4。概要
全体として、Spring BootはThymeleafやFreeMakerのサポートに優しいものであり、構成は比較的簡単です。実際の開発では、それらのほとんどは主にこれら2つのテンプレートエンジンに基づいており、JSPはほとんどありません。 JSPは、実験段階または学習段階でさらに使用できるようになりました。 JSP構成のより厄介なことは、最初の2つのものとは異なるということです。オンラインステートメントは基本的に同じですが、JARパッケージを戦争パッケージに変更する必要があるかどうかなど、JSP構成に関する多くのステートメントがありますか? JSPの依存関係は、提供するために設定する必要がありますか?これは主に、プログラムを外部Tomcatに最終的に展開するか、JARを直接実行するかどうかに依存しますか?この記事はIDEAの下でアプリケーションクラスを直接実行しているため、これらの操作は必要ありません。
上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。