1

使用jsp,我们在隐藏字段中打印这个Hh’k值,然后提交。然后在 servlet 中,我们将其作为参数获取 Hh'k,而不是我们希望将其作为Hh’k.

有什么建议么?

4

1 回答 1

2

浏览器不这样做,因为没有理由。它只是对特殊字符进行 URL 编码,符合application/www-x-form-urlencoded通过调用自动 URL 解码的合同getParameter()

如果您确实需要对它们进行 XML 转义,则需要在获取请求参数后自己进行。Apache Commons Lang 在这StringEscapeUtils#escapeXml()方面很有帮助:

String foo = request.getParameter("foo");
String escapedFoo = StringEscapeUtils.escapeXml(foo);
// ...

然而,你为什么要这么做?在 HTML 中重新显示它们是否有问题?为此,有一个更简单的解决方案,只需在任何地方使用 UTF-8 即可。例如,在您的 JSP 顶部添加以下内容:

<%@page pageEncoding="UTF-8" %>

等等。

于 2011-09-19T19:34:45.677 回答