[英]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實體'
代替'
替換時
<input type="button" value="Click Me"
th:with='cleaned=${#strings.replace(document["url"], "'", "\'")}'
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.