この記事では、Spring BootとKotlinを紹介して、Thymeleafテンプレートエンジンを使用してWebビューをレンダリングします。
静的リソースアクセス
Webアプリケーションを開発するときは、JS、CSS、画像などの多数の静的リソースを参照する必要があります。 Spring BootとKotlinを使用してこれらの静的リソースをサポートする方法は? 、非常にシンプルです。
デフォルトの構成
Spring Bootは、デフォルトで静的リソースディレクトリの場所を提供し、ClassPathの下に配置する必要があり、ディレクトリ名は次のルールに準拠する必要があります。
/static/public/resources/meta-inf/リソース
たとえば、SRC/Main/Resources/Directoryで静的を作成し、その場所に画像ファイルを配置できます。プログラムを開始したら、http:// localhost:8080/ruby.jpgにアクセスしてください。画像を表示できる場合、構成は成功します。
Webページをレンダリングします
以前は、リクエストは@RestControllerを介して処理され、返されたコンテンツはJSONオブジェクトでした。 HTMLページをレンダリングする必要がある場合、それを実装する方法は?
テンプレートエンジン
Spring Bootが推奨するテンプレートエンジンでは、動的なWebサイトの開発をすぐに開始できます。
Spring Bootは、次のメインタイプを持つデフォルトの構成テンプレートエンジンを提供します。
ThymeLeaffreemarkergroovymustache
Spring Bootは、これらのテンプレートエンジンを使用してJSPの使用を避けることをお勧めします。 JSPを使用する必要がある場合、Spring Bootのさまざまな機能を実装できません。詳細については、次のテキストを確認できます。JSP構成をサポートしています。
上記のテンプレートエンジンのいずれかを使用する場合、デフォルトのテンプレート構成パスは次のとおりです。SRC/メイン/リソース/テンプレート。もちろん、このパスも変更できます。詳細については、後続のテンプレートエンジンの構成プロパティでクエリと変更できます。
嫌う
Thymeleafは、XML/XHTML/HTML5テンプレートエンジンで、Web環境と非Web環境の両方でアプリケーション開発に使用できます。これは、Apacheライセンス2.0ライセンスに基づいたオープンソースのJavaライブラリであり、Java Encryption Library Jasyptの著者であるDanielFernándezによって作成されました。
Thymeleafは、スプリングMVCを統合するためのオプションのモジュールを提供します。アプリケーション開発では、Thymeleafを使用してJSPまたはフリーマーカーなどのその他のテンプレートエンジンを完全に置き換えることができます。胸腺の主な目標は、ブラウザーによって正しく表示できる、したがって静的モデリングとしても使用できる適切に形成されたテンプレート作成方法を提供することです。これを使用して、検証済みのXMLおよびHTMLテンプレートを作成できます。ロジックやコードの作成と比較して、開発者は単にテンプレートにタグ属性を追加する必要があります。次に、これらのタグプロパティは、DOM(ドキュメントオブジェクトモデル)で事前に形成されたロジックを実行します。
サンプルテンプレート:
<!doctype html> <html xmlns:th = "http://www.w3.org/1999/xhtml"> <head lang = "en"> <meta charset = "utf-8"/> <title> quanke.name </title> </head> <h1 <h1 th: "$ world </h1> </body> </html>
セミリーフは、主に属性の形でHTMLタグに追加されることがわかります。ブラウザがHTMLを解析すると、属性がないことをチェックすると無視されます。したがって、Thymeleafのテンプレートは、ブラウザを介して直接記録できます。これは、フロントエンドとバックエンドの分離を非常に助長します。
Spring BootでThymeleafを使用するには、次の依存関係を導入し、デフォルトのテンプレートパスSRC/Main/Resources/Templatesの下にテンプレートファイルを記述するだけで、完了する必要があります。
compile "org.springframework.boot:spring-boot-starter-thymeleaf:$ spring_boot_version"
構成を完了したら、クイックスタートプロジェクトに基づいて簡単な例を挙げて、ThymEleafを介してページをレンダリングする簡単な例を示します。
org.springframework.steretype.controllerimport org.springframework.ui.modelmapimport org.springframework.web.bind.annotation.requestmapping/***は、http://quanke.name on 2018/1/10によって作成されました。 */ @controllerclass hellocontroller {@requestmapping( "/")fun index(map:modelmap):string {// map.addattribute( "host"、 "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 </title> </head> <h1 <h1 th: "$ world </h1> </body> </html>
Kotlin言語を使用して実装されたスプリングブートスタートアップメソッドを追加します。
org.springframework.boot.springApplicationimport org.springframework.boot.autoconfigure.springbootapplication/***は、http://quanke.name on 2018/1/9によって作成されました。 */@springbootapplication applicationfun main(args:array <string>){springApplication.run(application :: class.java、 *args)}上記のページに示すように、HTMLページを直接開いてHello Worldを表示できますが、プログラムを開始した後、コントローラーのホスト値を表示するhttp:// localhost:8080/にアクセスできます。
Thymeleafのページの構文の詳細については、クエリについてはThymeleafの公式ドキュメントにアクセスしてください。
Thymeleafデフォルトのパラメーター構成
デフォルトの構成を変更する必要がある場合は、以下をApplication.ymlに変更する属性をコピーして、テンプレートファイルの拡張機能の変更、デフォルトのテンプレートパスの変更など、必要な値に変更するだけです。
#テンプレートcaching.spring.thymeleaf.cache = true#テンプレートの場所が存在することを確認してください。spring.thymeleaf.check-template-location = true#content-type value.thymeleaf.thymeleaf.content-type = text/html encoding.spring.thymeleaf.encoding = utf-8#resolution.spring.thymeleaf.thymeleaf.excluded-view-names =#テンプレートに適用されるテンプレートモードから除外する必要があるビュー名のcomma分離リスト。 See also StandardTemplateModeHandlers.spring.thymeleaf.mode=HTML5 # Prefix that gets prepended to view names when building a URL.spring.thymeleaf.prefix=classpath:/templates/ # Suffix that gets appended to view names when building a URL.spring.thymeleaf.suffix=.html spring.thymeleaf.template-resolver-order =#チェーン内のテンプレートリゾルバーの順序。 spring.thymeleaf.view-names =#解決できるビュー名のコンマセパレーションリスト。
予期しない問題を回避するために、環境または開発環境をテストします。一般的な設定:spring.thymeleaf.cache = true
JSP構成をサポートします
スプリングブートはお勧めしませんが、使用する必要がある場合は、このプロジェクトを足場と呼ぶことができます:JSPサポート
一般に、KotlinはSpring Bootを非常によくサポートしています。 JavaでSpring Bootを使用して、Kotlinに翻訳するだけです。
要約します
上記は、Thymeleafテンプレートエンジンを使用して、Spring BootとKotlinが紹介したWebビューをレンダリングする方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!