首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Grails中实现动态视图属性

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

Stack Overflow用户
提问于 2013-08-29 04:14:38
回答 2查看 350关注 0票数 0

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-29 15:32:31

谢谢你的回复:米卡。具体来说,我想知道动态更改页面(视图)的可视化方面的最佳实践是什么。我想我通过查看动态脚手架域的视图来回答我的问题。例如,字段提示都以下列形式出现:

代码语言:javascript
复制
<label for="last">
   <g:message code="employee.last.label" default="Last" />
</label>

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

票数 0
EN

Stack Overflow用户

发布于 2013-08-29 09:12:27

在控制器操作中,可以返回模型(Map)。来自该模型的数据可以在视图中读取:

代码语言:javascript
复制
class MyController {
  def test() { 
    return [myData: 'hello', myOtherData: 42]
  }
}

在视图中,可以通过以下方式访问模型:

代码语言:javascript
复制
...
<h1>${ myData }</h1>
<g:if test="${ myOtherData == 42}">
   <p>${ myOtherData }</p>
</g:if>
...

如果您想从控制器返回另一个带有模型的视图,可以使用render方法:

代码语言:javascript
复制
render view: 'myview', model: [myData: 42]

有关更多细节,请参见grails文档中的模型和观点一节。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18502164

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档