使用Grails Fields插件渲染隐藏字段而不是文本字段

时间:2016-03-13 04:19:11

标签: grails

各种类有两个文本属性:createdBy和lastUpdatedBy。它们只是登录用户的用户名。它们使用$ {grails-app} /views/_fields/string/widget.gsp中的_widget.gsp进行渲染。这就是_widget.gsp的样子:

<g:if test="${property == 'createdBy' || property == 'lastUpdatedBy' }">
    <g:hiddenField name="${property}" value="${value}" />
</g:if>
<g:else>
        <input type="text" name="${property}" value="" <g:if test="${required}">required=""</g:if> id="${property}" />
</g:else>

不幸的是,仍会呈现带有星号的标签。当试图保存它时告诉我createdBy和lastUpdatedBy是必需的,尽管它们在页面源中作为隐藏字段填写了正确的值。

另外,我的待遇是否需要&#39;正确的吗?

有关如何摆脱隐藏字段的标签和所需星号的想法吗?

感谢。

1 个答案:

答案 0 :(得分:0)

这是这样做的方法: 创建包含_wrapper.gsp:

的目录结构
  

的grails-app /视图/ $ {控制器} / $ {动作} / $ {属性} / _ wrapper.gsp

_wrapper.gsp看起来像这样:

<g:hiddenField name="${property}" value="${value}" />

您只需要创建和编辑动作。这意味着您可以将其复制并粘贴到您需要的位置。很简单,如果有人知道怎么做。