【发布时间】:2014-11-11 14:05:50
【问题描述】:
我有一个 GSP 页面,其中包含与特定上下文相关的不同输入元素。 例如,我可以为用例 A 显示文本字段,但不能为用例 B 显示文本字段(短版,实际上非常复杂)
为此,我有一个域对象,通常使用纯静态 HTML 填充。但现在我需要添加动态数据,如下所示:
def field = new InputField()
field.code = '<input type="text" name="foo" value="${currentUser.name}" />'
// or: field.code = '<option value="1"><g:message code="someCode"/></option>'
此代码存储在数据库中。稍后将在 GSP 中呈现:
<g:each in="${InputField.findAllBySomeCondition(...)}">
${it.code}
</g:each>
这将打印输入元素,但不是评估动态代码 (${currentUser.name}),而是以纯文本形式打印。
很遗憾,我无法更改整个过程,已经存储了 3000 多个不同的输入元素,但它们都不是动态的。
有没有办法告诉 Grails 在打印之前评估变量中的代码?
编辑:我正在使用 Grails 2.2.4
【问题讨论】: