使用jsp,我们在隐藏字段中打印此Hh’k
值,然后提交它。然后在servlet中,我们将其作为参数Hh'k
,而我们希望它为Hh’k
。
有什么建议吗?
答案 0 :(得分:2)
浏览器不这样做,因为没有理由。它只是对符合application/www-x-form-urlencoded
合同的特殊字符进行URL编码,该合约通过调用getParameter()
自动进行URL解码。
如果您确实需要对它们进行XML转义,则需要在获取request参数后自行完成。 Apache Commons Lang StringEscapeUtils#escapeXml()
对此很有帮助:
String foo = request.getParameter("foo");
String escapedFoo = StringEscapeUtils.escapeXml(foo);
// ...
但是,你为什么要那样做?你在HTML中重新显示它们有问题吗?为此,有一个更简单的解决方案,just use UTF-8 everywhere。例如。在JSP的顶部添加以下内容:
<%@page pageEncoding="UTF-8" %>
等等。