Thymeleaf模版JSONオブジェクトを遍歴する
4535 ワード
ソースhttp://www.jianshu.com/p/116ac62ee701
背景
Thymeleaf模版の多くは确かに便利ですが、JSONの相手を処理する时にいくつかの问题に出会って、とても面白い记录をして、自分でメモするために、同时に似たような需要のある学友に参考にして、みんなができるだけ早く问题を解决することができることを望んで、早く退勤して、家に帰って犬を散歩します~本題を言う前に、みんなは问题があるかもしれません実はThymeleaf自体がmapを提供してマッピングし、直接classを伝えて解析することもサポートしていますが、なぜJSONを使うのでしょうか.実は私はよく考えてみましたが、確かにJSONを使う必要はありません.私はこんなに安いですね.JSONは便利ですね.私はどうしても~(よし、人を殴ってもいいです.顔を殴らないでください.霧)しかし、そこからThymeleafが具体的に処理した面白い方法をもっと感じることができます.
具体的な処理
実際にThymeleafを使用する最も本質的な点は、javaベースの解析ツールであり、主にサービス側自身でコンテンツの置き換えを行っているため、jspのような処理であり、本当の意味のフロントエンドツールではなく、java自体に基づいて使用できるすべての関数であることを理解することにある.したがってJSONの遍歴についてはjavaにおけるjsonの遍歴と一致しており,具体的な処理は以下の通りである.
同様に、spring bootで最も一般的に使用されているPageオブジェクトのように、Javaで使用することでテンプレートで正しく処理できる他の多くの類似の機能を挙げることができます.
余談
Thymeleafテンプレート自体は非常に便利ですが、特にその厳格なxml検出は、多くのhtmlラベルが不完全な場所で検出されます.例えば、一般的にhtmlでは通過できません.必ず完全に一致しなければなりません(強迫症表示:1冊満足).しかし、ページに埋め込まれたjsスクリプトのエスケープシンボルのサポートはよくありません.主に、
このような「エスケープは間違いを報告します.もちろん解決策も簡単です.
背景
Thymeleaf模版の多くは确かに便利ですが、JSONの相手を処理する时にいくつかの问题に出会って、とても面白い记录をして、自分でメモするために、同时に似たような需要のある学友に参考にして、みんなができるだけ早く问题を解决することができることを望んで、早く退勤して、家に帰って犬を散歩します~本題を言う前に、みんなは问题があるかもしれません実はThymeleaf自体がmapを提供してマッピングし、直接classを伝えて解析することもサポートしていますが、なぜJSONを使うのでしょうか.実は私はよく考えてみましたが、確かにJSONを使う必要はありません.私はこんなに安いですね.JSONは便利ですね.私はどうしても~(よし、人を殴ってもいいです.顔を殴らないでください.霧)しかし、そこからThymeleafが具体的に処理した面白い方法をもっと感じることができます.
具体的な処理
実際にThymeleafを使用する最も本質的な点は、javaベースの解析ツールであり、主にサービス側自身でコンテンツの置き換えを行っているため、jspのような処理であり、本当の意味のフロントエンドツールではなく、java自体に基づいて使用できるすべての関数であることを理解することにある.したがってJSONの遍歴についてはjavaにおけるjsonの遍歴と一致しており,具体的な処理は以下の通りである.
<table class="am-table am-table-bd am-table-bdrs am-table-striped am-table-hover">
<tbody th:remove="all-but-first">
<tr th:each="ea : ${eaJson.keySet()}">
<td class="am-text-center">*
<td th:text="${ea}">1234567
<td th:switch="${eaJson.getInt(ea)}">
<span th:case="-1" class="am-text-danger">
<span th:case="0">
<span th:case="1" class="am-text-secondary">
同様に、spring bootで最も一般的に使用されているPageオブジェクトのように、Javaで使用することでテンプレートで正しく処理できる他の多くの類似の機能を挙げることができます.
<tr th:each="ResourceComsumeUser : ${resourceComsumeUser.getContent()}" th:id="${ResourceComsumeUser.getUserID()}">
<td th:text="${ResourceComsumeUser.getID()}">1
<td th:text="${ResourceComsumeUser.getUsedTimes()}"><a href="#">Business management
<td th:text="${ResourceComsumeUser.getText()}">31
<td th:text="${ResourceComsumeUser.getTime()}/1000">json
余談
Thymeleafテンプレート自体は非常に便利ですが、特にその厳格なxml検出は、多くのhtmlラベルが不完全な場所で検出されます.例えば、一般的にhtmlでは通過できません.必ず完全に一致しなければなりません(強迫症表示:1冊満足).しかし、ページに埋め込まれたjsスクリプトのエスケープシンボルのサポートはよくありません.主に、
<script type="text/javascript">
$(document).ready(function(){
var content = "
";
});
script>
このような「エスケープは間違いを報告します.もちろん解決策も簡単です.