我知道我可以"/"(controller: "default")
在 UrlMappings.groovy 中使用为根页面指定一个控制器,但是我想让我的主布局页面(在这种情况下是 main.gsp)访问至少一个已定义的控制器。我试过"/layouts/main.gsp"(controller: "default")
但没有用。我怎样才能实现它?谢谢!
问问题
1044 次
2 回答
4
main.gsp
是布局而不是页面。布局由控制器呈现的页面使用。您不应该有让控制器呈现布局的设计。它破坏了 Grails 的美丽结构。
如果要访问该布局中的对象,则将对象传递给使用该布局的页面。
告诉我们您的用例,我们可能会为您提供更多帮助。
于 2012-09-03T06:18:16.410 回答
-2
我找到了另一种方法来解决我的问题。现在我可以为每个操作传递来自会话的用户实例。因此,无论何时何地,我的布局标题都会显示用户信息(当然,如果用户已登录)。
我的步骤:
- 首先,创建一个 grails 过滤器;
从创建的过滤器修改您的“之后”clousure 以获取当前用户并将其传递给每个控制器的操作,它假设是这样的:
after = { Map model -> def user = null if (!session.isNew()) { user = session["user"] if (user) { if (!model) model = [:] model["user"] = user } } }
希望对您有所帮助,谢谢!
于 2012-09-03T20:13:25.847 回答