如何使用grailsfields插件通过textArea更改f:field(textField)
在版本1.1中,我们可以阅读:如何使用grailsfields插件通过textArea更改f:field(textField),grails,grails-plugin,Grails,Grails Plugin,在版本1.1中,我们可以阅读: Support `widget:'textarea'` constraint. Grails有一个textArea字段。这是以下示例: 但是,如果我们使用的是Grails Fields插件,并且我们有如下代码: <f:field bean="popularExpressionsInstance" property="omg" /> 如何将其转换为textArea以允许键入几行文本?在您的popularExpressions域类中,为omg
Support `widget:'textarea'` constraint.
Grails有一个textArea字段。这是以下示例:
但是,如果我们使用的是Grails Fields插件,并且我们有如下代码:
<f:field bean="popularExpressionsInstance" property="omg" />
如何将其转换为textArea以允许键入几行文本?在您的
popularExpressions
域类中,为omg
static constraints = {
...
omg widget: 'textarea'
}
注意:例如,如果需要控制textarea的样式,则需要将其包含在f:field
标记的主体中
<f:field bean="popularExpressionsInstance" property="omg">
<g:textArea name="omg" cols="40" rows="5" maxlength="40" value="some default text"/>
</f:field>
您可以直接在GSP中重写标记体,如@user2264997所述,但使用
${property}
和${it.value}
变量:
<f:field property="description" widget="textarea">
<g:textArea name="${ property }" cols="40" rows="5"
value="${it.value}" />
</f:field>
谢谢!但是只要使用代码>,该字段成为文本区域。为什么要使用约束?@chelder如果您使用小部件:“textarea”
在约束中定义它,您就是在告诉Grails您希望如何在Scaffolding中呈现该属性。如果使用默认的脚手架,Grails将为该属性生成一个textarea。对于您的用例,它可能不是必需的。请更改
<f:field property="description" widget="textarea">
<g:textArea name="${ property }" cols="40" rows="5"
value="${it.value}" />
</f:field>