有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在App Engine(Java)中处理HTML表单

一般来说,我不熟悉java的web开发,但我有一些java编程的背景,所以我选择了AppEngine的java版本。在此之前,我只有涉及PHP的web项目

在AppEngine中有没有优雅的方法来处理发送到我的servlet的HTML表单并正确地转义它们?appengine文档中的示例仅涉及jsp中向用户显示信息的转义XML,但我希望数据存储中有没有XML的干净文本,以最大限度地减少意外错误

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


共 (1) 个答案

  1. # 1 楼答案

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

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

    如果您想在Java中实现它而不嵌入commons lang库,请自己实现过滤。您只需要用它们相应的HTML实体替换<>'"&。不应该太难