簡體   English   中英

百里香變量中的轉義撇號

[英]escape apostrophe in thymeleaf variable

我試圖在使用百里香作為字符串參數傳遞的變量的值中轉義撇號。 我的代碼如下所示:

<button type="button" class="btn btn-default btn-sm" th:id="${'delete'+document['oid_pj']}"
                th:if="${document['utilisateur'] == session.utilisateur}"
                th:onclick="'deletePj(\''+${document['oid_pj']}+'\',\''+ ${document['url']} +'\');'">

當解釋html頁面時,它看起來像這樣:

<button type="button" class="btn btn-default btn-sm" id="deleteAS8bo00000F1T" onclick="deletePj('AS8bo00000F1T','//20150007/GIWkE0000FHUI//Creation d'un service GtMonitor.doc');">

因此,來自“ d'un”的單引號會在該參數之前將其關閉。

有誰知道我該如何逃脫?

您可以嘗試切換使用引號的方式

onclick='"deletePj(\""+${document["oid_pj"]}+"\",\""+ ${document["url"]} +"\");"'>

在將${document['url']} (包含單引號的值)傳遞給javascript函數之前,請先通過將'替換為\\'清理。 使用th:with創建一個局部變量,該變量將用於存儲清理后的值。 使用#strings.replace進行替換。 為防止編譯錯誤,請使用html實體&apos; 代替'替換時

<input type="button" value="Click Me" 
            th:with='cleaned=${#strings.replace(document["url"], "&apos;", "\&apos;")}'
            th:onclick="'deletePj(\''+${document['oid_pj']}+'\',\''+ ${cleaned} +'\');'"/>

輸出:

<input type="button" onclick="deletePj('AS8bo00000F1T','//20150007/GIWkE0000FHUI//Creation d\'un service GtMonitor.doc');" value="Reconciliation">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM