繁体   English   中英

提交按钮 + GWT 历史

[英]Submit button + GWT History

提交表单时的良好设计解决方案,“返回”然后“前进”浏览器按钮的行为应该是什么。 类似的问题是当用户注销应用程序然后单击“转发”浏览器按钮时会发生什么?

我很高兴听到上述情况的一些场景。

谢谢。

编辑-应该很好分享和我的观点:-)

我个人的意见是注销后用户应该无法通过登录页面在没有 go 的情况下进入应用程序。 对于提交场景 - 提交并返回浏览器按钮后,用户应该能够返回到表单但不包含任何数据。

使用 state 机器来保留用户(会话)并请求 state 是很常见的。 如果您有这样的 state 机器,那么您知道用户正在尝试错误的转换。 根据用户 state 和错误的转换,您可以将用户转发到页面。 例如,如果用户尝试 go 到需要登录但她/他已经注销的页面,您可以将她/他发送到登录页面,但您可以提供用户名并且只询问密码。

要添加此功能,您可以通过在代码中硬编码 state 机器来编写自己的代码,或者您可以使用可用的库之一。 例如, Spring Web Flow为 Spring 框架提供了此功能。

一种常见的模式是Post/Redirect/Get 在这种模式下,帖子的结果是一个可添加书签的(并且向后/向前导航)页面。 后退按钮的通常含义之一是“我不是故意要 go 在这里,带我回到我原来的位置”,就像在大多数 Windows 对话框中按 ESC 一样,前进按钮的意思是“我不是故意要回击按钮,毕竟我想要那个页面。” 这种模式并不适用于所有人。 当每个页面(包括对表单提交的响应)代表一些您想要添加书签的概念实体时,它最有意义。

至于注销场景,大多数应用程序都会检查您是否已登录,无论 URL 中指定了哪个页面,如果您未登录,则重定向到登录表单。(您不必在每个页面;检查通常是 Valve 或其他东西。)一个不错的功能是记住用户尝试 go 的位置,并在成功登录后将其带到那里。

您的问题更多是关于设计而不是技术,因此 GWT 并没有真正改变情况,只是要注意 GWT 历史机制旨在模仿 static 页面的行为,链接也通过链接连接的直接获取模式.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM