gpt4 book ai didi

Grails "bean:input"(bean 字段)显示错误的 bean 属性

转载 作者:行者123 更新时间:2023-12-01 23:41:19 29 4
gpt4 key购买 nike

自从我们更新到 grails 2.0.1(从 2.0.0 开始)以来,通过 bean 字段显示的所有 bean 都错误地显示为“withBean”字段的第一个属性。在我下面发布的示例中,所有 [firstName、lastName、dateOfBirth、contactNumber] 都仅显示为“firstName”(我们知道这不仅仅是错误的消息,因为否则第三个属性 (dateOfBirth) 将是一个日期选择器,而不仅仅是文本字段)。

有什么潜在的解决方法或建议吗?

(plugins.bean-fields=1.0-RC3)

Code

enter image description here

最佳答案

我遇到了同样的问题,并有解决方法。

我已将自定义 beanfield 模板提取到名为 /shared/_beanfieldConfig.gsp 的 gsp 模板中,然后我在调用任何 beans 标签之前通过渲染将其包含在内。例如

<g:render template="/shared/beanFieldConfig" />
<bean:withBean beanName='command'>
<bean:input property='username' />

这在 1.3.7 中运行良好,意味着我可以在 View 之间共享 beanFieldConfig。

升级到2.0.3时,我遇到了与原始问题相同的问题。我发现我可以通过内联我的 _beanFieldConfig 的内容来解决这个问题在每个 View 中。

Yuk,但这至少意味着我不需要重写所有 View 来使用替换插件(还)。

(编辑)有趣的是,虽然渲染模板中的 beanField 配置不起作用,但将其粘贴在 taglib 中却可以。

所以,虽然之前我在 beanFieldConfig 中有

<bean:inputTemplate>
<div class='input ${errors ? 'errors' : '' }'>
${label}
${field}
<g:if test="${errors}">
${errors}
</g:if>
</div>
</bean:inputTemplate>

如果我定义等效标签 -

def beanFieldConfig = {
bean.inputTemplate { m ->
m.with {
""" <div class='input ${errors ? 'errors' : '' }'>
${label}
${field}
${errors ?: ''}
</div>"""}
}
}

然后在我的 gsp 中替换 <g:render template="/shared/beanFieldConfig" /><g:beanFieldConfig/> ,它有效。

关于Grails "bean:input"(bean 字段)显示错误的 bean 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9563502/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com