我从服务器端获取用户名并在jsp中显示如下
String userName = getFullName();
request.setAttribute("userName",userName);
Jsp文件
<div onclick=callToDoScript('<c:out value="${userName}"/>')> </div>
这很好用。在我的情况下,用户名可能包含日语字符,单引号,括号或任何其他特殊字符。
如果用户名包含如下所示的单引号,则脚本构造会严重破坏
<div onclick=callToDoScript('rock's"name')> </div>
如果我对名称进行编码,则日语字母不会显示属性。
我需要知道可能会破坏构造的场景列表以及相同的
解决方案提前致谢。
答案 0 :(得分:0)
在做了一些搜索后,我找到了解决问题的方法。
String userName = getFullName();
userName = StringEscapeUtils.escapeEcmaScript(userName);
request.setAttribute("userName",userName);