2

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

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

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

如何做到这一点?

4

2 回答 2

2

你可以做很多事情来实现这一点。根据您的要求,您可以:

  • 使用 javascript 和 cookie。
  • 当您导航到 b.gsp 并进入 b.gsp 中的隐藏字段时,将在组合框中选择的值传递给控制器​​,但是当您想查看 a.gsp 时,您必须再次将其传递回控制器。
  • 在会话/闪存范围内传递选定的值
于 2012-08-22T10:17:57.107 回答
0

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

首先,将控制器操作和视图重命名为有意义的名称,而不是 a、b。即使只是为了测试一个小样本,走捷径也会导致长期的坏习惯......

其次,如果您使用标签,那么您将使用 value 属性来指示应该选择什么。

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

给我们更多细节,也许我们可以提供帮助。


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

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

  2. 当您的页面加载(文档准备好)时,如果您在读取 ​​cookie 时得到一个值,则尝试设置选择值。

于 2012-08-22T09:46:06.733 回答