2017-08-10 100 views
0

我已經使用字段文本保持實體。內部文本我有一部分要更換。 myEntity.text:Thymeleaf#strings.replace with regex and th:fragment

some text 
twoImages[12_v13.PNG, 10_v6.PNG] 
text text text 
twoImages[12_v13.PNG, 10_v6.PNG] 
<h1>And HTML</h1> 

所以在視圖中我想使用像th:utext這樣的東西。但用th:fragment代替圖像塊(每個片段〜15行)。

輸出應該是這樣的:

some text 
<img .. 12_v13.PNG /> 
<br /> 
<img .. 12_v13.PNG /> 
<additional html /> 
text text text 
<img .. 12_v13.PNG /> 
<br /> 
<img .. 12_v13.PNG /> 
<additional html /> 
<h1>And HTML</h1> 

如何與Thymeleaf意識到這一點?

回答

1

如果該字段的整個文本是單個字符串,則必須使用正則表達式匹配器或一些生成的分析器來解析它。說[12_v13.PNG,10_v6.PNG]必須被解析,例如與 \\ [([^,] ),\\ s([^ \\]] *)] 第一組將給予12_v13.PNG,第二個--10_v6.PNG。

您需要爲img標籤的src屬性中的每個圖像提供路徑。 可以達到的效果是這樣的:

<img th:src="@{/images/test.png}" /> 

這暗示,即/ images文件夾是項目的Web應用程序文件夾中。

<img th:src="@{/resources/images/Picture.png}" /> 

輸出爲:

<img src="/resources/image/Picture.png" /> 

當你在你的瀏覽器打http://localhost:8080/myapp/resources/images/Picture.png那麼你應該能夠訪問該圖像獲得上述語法工作。

此鏈接有用:Standard URL Syntax

請看看我的thymeleaf演示項目:demo project(與模板的文件夾將得到開啓),您會發現在項目結構和thymeleaf模板的示例數據。

+0

謝謝!我更關心圖層,我想讓引擎去做(解析)。 img的路徑是其他q。儘管事實上這樣的任務應該是標準的,我認爲要做一些像自定義標籤的事情。 ? – Shklyar