當試圖運行下面的代碼位:逃離XML字符
<c:out value="${<%=StringEscapeUtils.escapeXml(variable.content)%>}"
我得到以下異常:
The function escapeXml must be used with a prefix when a default namespace is not specified.
你有沒有在如何解決它的任何想法或解決方法嗎?
當試圖運行下面的代碼位:逃離XML字符
<c:out value="${<%=StringEscapeUtils.escapeXml(variable.content)%>}"
我得到以下異常:
The function escapeXml must be used with a prefix when a default namespace is not specified.
你有沒有在如何解決它的任何想法或解決方法嗎?
您收到的異常很奇怪,您必須發佈完整的堆棧跟蹤,但是您不允許在表達式語言表達式中使用scriptlet。換句話說,這是
${<%=StringEscapeUtils.escapeXml(variable.content)%>}
在語法上是不正確的。擺脫${}
。
如果我這樣做,我不能使用聲明爲JSTL標記變量的變量。內容 – Rollerball
是的,我添加它的腳本只是因爲沒有(同樣的例外)沒有工作,我我認爲可能是這個問題,但是我會刪除它 – Rollerball
@Roller你不能用這種方式將EL與scriptlets混合使用,或者你可以使用scriptlets來獲取請求屬性'variable',得到它的'content'字段中,將其轉義並直接在'
你可以發佈完整的堆棧跟蹤嗎? –
另外,你想通過在EL表達式'$ {}'中放置scriptlet來實現什麼? –
@SotiriosDelimanolis只是想將variable.content的內容轉義出來。否則< >和「將被視爲特殊字符 – Rollerball