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

标签 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是必需的,尽管它们在页面源中是隐藏字段,并已填充正确的值。

另外,我对“必需”的处理是否正确?

如何消除隐藏字段的标签和所需的星号的任何想法?

谢谢。

最佳答案

这是这样做的方法:
创建包含_wrapper.gsp的目录结构:

grails-app/views/${controller}/${action}/${property}/_wrapper.gsp



_wrapper.gsp看起来像这样:
<g:hiddenField name="${property}" value="${value}" />

仅在创建和编辑操作时才需要它。这意味着您可以将其复制并粘贴到所需的位置。很简单,只要知道如何做。

关于grails - 使用Grails Fields插件渲染隐藏字段而不是文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35966416/

相关文章:

grails - 您如何在Grails/Spock测试中而不是在org.grails.plugins.testing.GrailsMockHttpServletResponse@62c0fcae中打印响应

grails - Grails EH缓存对象作为参数问题

java - Grails 脚手架 View 中没有水平滚动

grails - Groovy Grails垂直而不是水平显示列表

grails - 如何启用Grails 3.x自动重新加载?

grails - 如何实现 "remote"域?

activerecord - Grails中的数据库迁移

grails - 使用Grails Spring Security插件中的interceptMap允许方法公开

grails - 如何在超过2个域中使用Grails可搜索插件

grails - Grails可搜索插件找不到导入的MySQL数据