我想完成以下工作:
我有一个用 JSP 表示的表单——我们称之为input.jsp
. 这个表单提交给一个 servlet,它将在 DB 中创建对象——我们称之为CreateServlet
. 成功提交表单后,servlet 应引导用户返回input.jsp
并显示成功消息。当验证失败时,它应该重定向回input.jsp
,显示错误消息,保留输入值。
我能想到几个选择:
在验证失败时,我可以使用 a
RequestDispatcher
执行转发到input.jsp
. 这将使我能够轻松地显示表单中的验证错误和输入参数。但是,我知道在执行编辑操作的情况下不应该使用转发,所以当请求成功时,我不应该做转发,而是应该做重定向。重定向的问题是我无法轻松设置属性,除非我在 URL 中传递它,例如input.jsp?success=true
.我可以在会话中存储验证消息、成功消息和输入值,并始终执行重定向。在 JSP 显示页面之后,它可以从会话中删除这些属性。
我使用的是普通的 servlet 和 JSP,而不是像 Struts 这样的任何框架。在这种情况下,推荐的做法是什么?