如何在具有前端控制器模式的java web应用程序中有效地保留复选框选择?
关于在离开或更新网页时保留复选框选择,有几个问题和答案,但考虑到我的web应用程序的代码结构,大多数问题和答案执行起来要复杂得多 我得到的:如何在具有前端控制器模式的java web应用程序中有效地保留复选框选择?,java,javascript,ajax,session,cookies,Java,Javascript,Ajax,Session,Cookies,关于在离开或更新网页时保留复选框选择,有几个问题和答案,但考虑到我的web应用程序的代码结构,大多数问题和答案执行起来要复杂得多 我得到的: 遵循前端控制器模式的Java web应用程序。所有URL都被前端控制器截取,前端控制器根据策略模式查找相关操作,并在重定向到新页面或旧页面之前执行更新 少数几个页面中有一个有三类复选框,用于切换页面元素的可见性。每个类别都有大约4-6个单个复选框 我需要什么: 一种有效的方法,可以在离开站点时保留用户选择的复选框。无论是cookies还是会话都是任意
- 遵循前端控制器模式的Java web应用程序。所有URL都被前端控制器截取,前端控制器根据策略模式查找相关操作,并在重定向到新页面或旧页面之前执行更新
- 少数几个页面中有一个有三类复选框,用于切换页面元素的可见性。每个类别都有大约4-6个单个复选框
- 一种有效的方法,可以在离开站点时保留用户选择的复选框。无论是cookies还是会话都是任意的。数据是短时间保存还是长时间保存并不重要,但至少在每个会话中都是如此
- 使用Ajax的基本教程,用于发送复选框每次更改的更新。但是,它们基于与自己的servlet通信,这与拦截所有URL的前端控制器模式思想不一致
- 饼干。然而,我不知道cookie的范围,或者我应该如何使用它们。例如,如果我应该为整个选择使用一个cookie,或者为每个复选框类别使用一个cookie
- 直接在Javascript中设置会话变量,这是不可能的,因为服务器端/客户端冲突
- 每次复选框更改时都向前端控制器servlet发送一个单独的调用,这是可行的,但可能会导致大量的服务器调用,我认为这是不必要的
我有一种感觉,Ajax是实现这一点的方法,但是所有比我目前工作的解决方案更高效的解决方案都非常受欢迎。很抱歉,我无法发布任何示例代码,因为webapp是在我的本地主机上开发的,无法从外部访问。您可以编写一个javascript函数,只需单击三个复选框中的一个即可切换?然后,此javascript函数可以依次向控制器发出GET或POST请求。是的,我可以。:)。但这真的有效吗?正如我在问题中所说,这将导致大量服务器请求。我明白了,很抱歉我误读了。我认为使用Ajax,您将获得尽可能多的服务器请求,因为它仍然需要与您的服务器通信。是的,看来cookie解决方案可能是最好的。我现在正在做。