如何在Grails中实现动态视图属性

如何在Grails中实现动态视图属性,grails,Grails,有人能为我指出Grails中正确特性的正确方向,以便在我的视图中实现动态更改属性吗?例如,当域类的实例处于特定工作流步骤中时,我希望特定于该步骤的某些字段提示、按钮标签和数据修改功能。我可能会将这些属性存储在另一个域类中,但我不确定在对数据实例执行edit方法时如何应用它们。是自定义标记进来了,还是我只是用变量标记替换视图中的所有属性并从控制器传递值?一个搜索词让我开始是好的。谢谢。在控制器操作中,您可以返回模型(地图)。可以在视图中读取此模型的数据: class MyController {

有人能为我指出Grails中正确特性的正确方向,以便在我的视图中实现动态更改属性吗?例如,当域类的实例处于特定工作流步骤中时,我希望特定于该步骤的某些字段提示、按钮标签和数据修改功能。我可能会将这些属性存储在另一个域类中,但我不确定在对数据实例执行edit方法时如何应用它们。是自定义标记进来了,还是我只是用变量标记替换视图中的所有属性并从控制器传递值?一个搜索词让我开始是好的。谢谢。

在控制器操作中,您可以返回模型(地图)。可以在视图中读取此模型的数据:

class MyController {
  def test() { 
    return [myData: 'hello', myOtherData: 42]
  }
}
在视图中,可以通过以下方式访问模型:

...
<h1>${ myData }</h1>
<g:if test="${ myOtherData == 42}">
   <p>${ myOtherData }</p>
</g:if>
...

有关更多详细信息,请参阅grails文档中的部分。

感谢您的回复@micha。具体来说,我想知道动态更改页面(视图)的视觉方面的最佳实践是什么。我想我是通过查看动态搭建的域中的视图来回答我的问题的。例如,字段提示的格式如下:

<label for="last">
   <g:message code="employee.last.label" default="Last" />
</label>


因此,您可以计算控制器/服务中需要的所有提示,或者从数据库中查询它们,并将它们与进入字段的数据一起传递。我只是在检查Grails是否预见到了这一需求,并通过架构的某些特定方面使它变得更容易。

只需将
模型
参数传递给它们即可
<label for="last">
   <g:message code="employee.last.label" default="Last" />
</label>