2

我需要在 jsp 中转义 " 和 \,但不一定要同时转义。

有了<c:out var="${value}" />我可以逃脱"角色。

有了${fn:replace(value,'\\','&#92;')}我可以逃脱\角色,并且工作正常。

我试图按如下方式处理这两种情况。

我试着用

<c:out var="${fn:replace(value,'\\','&#92;')}"/>

但不工作,不被接受,似乎是一个错误。

我还尝试在替换后放入一个variable字符串,然后在中使用它c:out,但是是一样的。

如果有人知道如何处理这两种情况,请告诉我。

注意:输入来自Java,这就是我使用 的原因\\,并作为JSON. 谢谢

4

2 回答 2

3

您可以调用fn:replace()两次,链接调用,以替换这两个字符。

${fn:replace(fn:replace(value,'\\','&#92;'),'\"','&#34;')}

不过,它不是很漂亮。

于 2013-10-18T16:33:47.380 回答
1

我找到了最好的解决方案是StringEscapeUtils from Apache,我必须像@Tap 所说的那样创建一个标签库,并将 jar 文件commons-lang添加到 project 。这有很多用于处理字符串的函数。

更多细节可以在这里找到->

于 2013-10-21T14:47:47.227 回答