jsp 中的转义符
我有一个 JSP,我在其中使用 c:out 打印一些字符串。但我需要通过反斜杠转义所有 ' (刻度线)。
示例: jsp
<span onclick=
"document.getElementById('input').value+='<c:outvalue="${tag.title}" />'">
<c:out value="${tag.title}" />
</span>
打印 tag.title = test's
<span onclick="document.getElementById('input').value+='test's'">
'test's
</span>
但我需要:
<span onclick="document.getElementById('input').value+='test\'s'">
'test's
</span>
在 jsp 中是否有任何简单方法可以做到这一点?
I have a JSP where I print some string by use of c:out. But I need to escape all ' (ticks) by an back slash.
Example: jsp
<span onclick=
"document.getElementById('input').value+='<c:outvalue="${tag.title}" />'">
<c:out value="${tag.title}" />
</span>
Prints for tag.title = test‘s
<span onclick="document.getElementById('input').value+='test's'">
'test's
</span>
But I need:
<span onclick="document.getElementById('input').value+='test\'s'">
'test's
</span>
Is there any easy way to do this in jsp?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用 Commons Lang,导入 StringEscapeUtils 并使用其方法之一(我认为这将是 escapeJavascript 在你的情况下)
You can use Commons Lang, import StringEscapeUtils and use one of its methods (I think that would be escapeJavascript in your case)
在 getTitle() 方法中,您可以返回 yourString.replaceAll("'","");
编辑:
尝试
In your getTitle() method you can return yourString.replaceAll("'","");
edit:
try
尝试
添加一些jsp并使用string.replace()
try
or add some jsp in and use string.replace()
这可能表明建议进行一些重构。
具体停止通过jstl标签输出html,改用
if
或when
;或者进行更大的重构。我可能会使用 jQuery 并根据类分配点击函数(可以从服务器端参数获取)
This is probably a sign that a bit of refactoring would be advised.
Specifically stop outputting html via jstl tags and instead use
if
orwhen
; or do a bigger refactoring.I would probably use jQuery and assign click functions based on class (which could be taken from server side paramters)