0

我一般是使用 Java 进行 Web 开发的新手,但我有一些 Java 编程背景,所以我选择了 Java 版本的 App Engine。在此之前,我只有涉及 PHP 的 Web 项目。

App Engine 中是否有任何优雅的方式来处理发送到我的 servlet 的 HTML 表单并正确转义它们?App Engine 文档中的示例仅涉及在向用户显示信息的 jsp 中转义 XML,但我希望在我的 DataStore 中有没有 XML 的干净文本,以尽量减少意外错误。

我目前正在使用 Apache Commons 包中的 StringEscapeUtils,但我更喜欢 App Engine 中包含的解决方案,因为我必须在我的应用程序中部署 commons-jars。用正则表达式自己解析字符串是唯一的其他方法吗?

4

1 回答 1

0

您不应该逃避用户发送的内容。保持原样,并将其存储在数据库中。这些数据可能是 XML 有充分的理由,并且这些数据可能被其他东西使用,而不是 web 应用程序,它不关心 HTML 转义。甚至在 webapp 中,它也可以作为 JSON 对象的一部分发送,不需要 HTML 转义。

生成包含此数据的 HTML 页面时,您必须转义 HTML 特殊字符以确保正确显示所有内容。StringEscapeUtils 很好,将 jar 与您的应用程序捆绑在一起是完全正常的。如果您使用 JSP 生成 HTML 标记,请使用 JSTL<c:out>标记或 JSTLfn:escapeXml()函数。

如果您想在不嵌入 commons-lang 库的情况下用 Java 制作,请自己实现过滤。您只需要将<>'和替换"&相应的 HTML 实体。应该不会太难。

于 2012-08-07T09:37:55.170 回答