当前位置:  开发笔记 > 前端 > 正文

在将表单提交给Servlet后,如何在JSP中保留HTML表单字段值?

如何解决《在将表单提交给Servlet后,如何在JSP中保留HTML表单字段值?》经验,为你挑选了1个好方法。

在从HTML提交数据后,servlet将这些数据添加到我的数据库并将结果消息转发到JSP页面.我希望在转发之后保留表单中最初提交的值.

在servlet中创建一个对象并添加我收到的所有参数并向JSP发送请求是否明智?还有另一种更好的方法吗?



1> BalusC..:

您可以通过访问单值请求参数${param}.

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
...


...



...

请注意,JSTL fn:escapeXml()是必要的,以防止XSS攻击.另请参见JSP/Servlet Web应用程序中的XSS预防.

您可以通过${paramValues}和EL 3.0流访问多值请求参数.

v == 'a').get() ? 'checked' : ''} />
v == 'b').get() ? 'checked' : ''} />
v == 'c').get() ? 'checked' : ''} />
...


在请求处理期间清理XSS将导致长期问题,因为这不是正常做法.应用程序和数据的可维护性,可重用性和可移植性将受此影响.仅在响应处理期间执行此操作.通过"在重新显示用户控制的输入期间",我只是在JSP中直接表示,正如我的回答所示.如果你坚持认为你可以总是以不同的方式做事,我只是警告未来的遗憾和浪费时间.
脚本不会在DB中执行.这绝对没有害处.这很好.`escapeXml()`将在HTML中重新显示时将它们转义.删除它并重新测试.你会看到脚本将被执行.
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有