【发布时间】:2014-08-15 00:17:23
【问题描述】:
在 Grails GSP 模板(例如,_form.gsp)中,我如何确定哪个页面正在调用模板(例如,create.gsp 或 edit.gsp)以便显示不同的字段?
【问题讨论】:
在 Grails GSP 模板(例如,_form.gsp)中,我如何确定哪个页面正在调用模板(例如,create.gsp 或 edit.gsp)以便显示不同的字段?
【问题讨论】:
没有通用的方法,没有。如果您只知道在您的应用程序中foo 操作始终呈现foo 视图并且没有例外,那么您当然可以只查看操作名称。你也可以做一些简单的事情,比如在渲染模板时在模型中放入一些东西,比如<g:render template="foo" model="[parentPage:'edit']"/>,或者在 pageScope 或类似的地方设置一个变量。有一些方法可以完成您想要的,但没有一般的方法可以在模板中回答“什么 GSP 呈现了这个模板?”这个问题。我希望这会有所帮助。
【讨论】:
所以我在没有提及模板的情况下搜索了它 (gsp determine current page),并在 this Nabble thread 上找到了答案。我将使用params.action 来确定我当前正在执行的操作(例如,创建或编辑),并使用它来显示不同的字段。
干杯!
【讨论】:
foo 操作始终呈现foo 视图并且没有例外,那么您当然可以只查看操作名称。你也可以做一些简单的事情,比如在渲染模板时在模型中放一些东西,比如<g:render template="foo" model="[parentPage:'edit']"/>,或者在 pageScope 或类似的地方设置一个变量。有一些方法可以完成你想要的,但没有通用的方法在模板中回答“什么 GSP 呈现了这个模板?”这个问题。我希望这会有所帮助。