groovy:保存gsp状态

时间:2012-08-22 08:45:30

标签: grails

我有2个gsp说,“a.gsp”和“b.gsp”。

“a.gsp”有组合框,用户可以从中选择选项。

我的问题是,如果用户转到“b.gsp”然后回到“a.gsp”,组合框选择的选项应该仍然存在。

如何实现这一目标?

2 个答案:

答案 0 :(得分:2)

你可以做多件事来实现这个目标。根据您的要求,您可以:

  • 使用javascript和cookies。
  • 当您导航到b.gsp并进入b.gsp中的隐藏字段时,将组合框中选择的值传递到控制器中,但是当您需要时,必须再次将其传递回控制器看到a.gsp。
  • 在会话/闪存范围内传递选定的值

答案 1 :(得分:0)

从您的问题来看,听起来您并没有完全接受Grails的MVC架构并正确使用控制器来准备数据并将结构化数据传递到您的视图。

首先,将控制器操作和视图重命名为有意义的内容而不是a,b。即使只是为了测试一个小样本,因为采取快捷方式会导致长期的坏习惯......

其次,如果您正在使用标记,那么您将使用value属性来指示应该选择的内容。

在此处阅读标记及其属性:http://grails.org/doc/2.1.0/ref/Tags/select.html

向我们提供更多详情,也许我们可以提供帮助。


感谢您的澄清,所以我假设用户可能有多种方式离开当前的.gsp页面并返回,但无论发生什么,您都希望浏览器记住所选的选项。在这种情况下,我会使用jQuery cookie库,它非常小,不会影响性能,因为你正在做非常轻松的工作,应该非常快速地设置..参见:https://github.com/carhartl/jquery-cookie

  1. 根据您选择的val()值在onChange处理程序中设置一个cookie。

  2. 当你的页面加载(文档就绪)时,如果你在阅读cookie时得到一个值,那么尝试设置选择值。