2017-06-30 4 views
0

でXMLを書くためにどのように私は(春ブーツ/ w)のGoogle Codeの飾り立てるとThymeleafを使用して自分のWebアプリケーションでページに次のXMLを表示したいです:はHTML

<pre id="code" class="prettyprint lang-xml"> 
&lt;&#x3f;xml version&#x3d;&quot;1.0&quot;&#x3f;&gt; 
&lt;users&gt; 
&nbsp;&nbsp;&nbsp;&nbsp;&lt;user uid&#x3d;&quot;user12&quot; name&#x3d;&quot;Matt&quot; mail&#x3d;&quot;user12&#x40;example.com&quot;&#x2f;&gt; 
&lt;&#x2f;users&gt;</pre> 

これは問題なく動作しますが、HTMLコードが非常に汚れています。人間が読めるコードを書く方法を教えてもらえますか?

答えて

2

これはHTMLの仕組みなので、HTMLエンティティが必要です。 Thymeleafを使用すると、XMLコンテンツを変数として提供することができます。 th:textのような属性を使用すると、Thymeleafはこれらの変数の内容を自動的にエスケープします。たとえば:

<pre id="code" class="prettyprint lang-xml" th:text="${users}"> 

</pre> 

は、これはあなたががusers変数のどこかを定義する必要がありますを意味します。これは、Springコントローラから行うことができます。あなたは、XMLファイルを作成し、例えば、モデルにそれを渡すために文字列としてそれを読むことができます:

@GetMapping 
public ModelAndView getPage() throws IOException { 
    Resource resource = new ClassPathResource("users.xml"); 
    return new ModelAndView("index", "users", FileUtils.readFileToString(resource.getFile(), Charset.defaultCharset())); 
} 

今あなたがいるので、いくつかのオーバーヘッドを持っているでしょうので、あなたはおそらく、どこか別のファイルの読み取りコードを移動することができます誰かがページをリクエストするたびにXMLファイルを読み込みます。

+0

ありがとうございました!それは私が探していた答えです。 –