首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DIY表格处理,PRG,验证

DIY表格处理,PRG,验证
EN

Stack Overflow用户
提问于 2009-09-12 09:13:59
回答 2查看 361关注 0票数 2

我想为网络应用程序实现表单处理。我想实现PRG (后重定向-获取),因为我相信这是在表单处理中的方法(非常好地发挥与重新加载和后退按钮)。然而,我看到它使验证变得更加复杂。

基本上,当您发布时,您有表单状态(作为post参数)。但是,如果验证并重定向回表单,则会丢失窗体状态(重定向是GET;您可以对GET中的所有表单参数进行编码,但由于URL长度限制,这并不总是可行的。而且,它看起来像地狱一样丑陋)。

我在想以下几点:

表单视图(/addUserDetails.html)

  • POST中的
  1. 用户要操作url (/addUser)
  2. /addUser执行相关操作。如果失败,则存储表单状态,为其分配id并重定向到窗体视图,并以id作为get参数(/addUserDetails.html?state=2313ab2)
  3. The视图验证状态并显示相关信息

根据您存储表单状态的方式,您还可以让用户继续在表单上工作,即使他们的浏览器崩溃或发生了一些不好的事情。

有什么想法?另外,是否有任何Java框架可以这样做,或者可以强制这样做呢?

EN

回答 2

Stack Overflow用户

发布于 2009-09-12 13:29:54

您不必将所有状态保存在重定向URL中。我这样做与您的方法有点不同,它对我们的用例非常有用。

如果表单没有通过验证,我就不会重定向。我只是简单地用突出显示错误的输入值重新填充表单,这正是在没有PRG的情况下应该做的事情。只有当POST成功时,我才将浏览器重定向到GET页面。在您的情况下,您只需要在URL中有用户名,就可以显示个性化的欢迎页面。

是的,我们将得到双重提交失败的表格,但这对我们的使用证明更可取。当用户导航回表单时,他们将再次获得错误并继续工作。由于验证,没有双重提交,这是我们唯一想避免的事情。

票数 2
EN

Stack Overflow用户

发布于 2009-09-12 15:44:40

试试Wicket -默认情况下它会这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1414707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档