class Case {
String description
}
我已经创建了一个插件找到的_input.gsp: INFO formfields.FormFieldsTemplateService - 找到模板/ patchCase / description / input
它包含:
<f:field bean="Case" property="description">
<g:textArea name="description" cols="40" rows="5" maxlength="5000" value="some default text"/>
</f:field>
但是我得到了
ERROR errors.GrailsExceptionResolver - NotReadablePropertyException occurred when processing request: [GET] /M3PatchManage/patchCase/create
Invalid property 'description' of bean class [java.lang.String]: Bean property 'description' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?. Stacktrace follows:
Message: Error processing GroovyPageView: Error executing tag <g:form>: Error executing tag <f:all>: Error executing tag <f:field>: Invalid property 'description' of bean class [java.lang.String]: Bean property 'description' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
任何人都可以描述如何使用字段的自定义或提供具有良好描述的链接(插件文档非常薄)?
我在Grails 2.4上。
答案 0 :(得分:4)
我认为您的问题是bean="Case"
属性。看起来fields插件试图呈现String "Case"
的属性而不是Case
类的实例。
您应该将Case
实例的模型键名称或实例本身传递给此属性。我猜这可能有以下任何一种方法:bean="case"
或bean="${case}"
。
这里&#39; s a Grails app of mine广泛使用了字段插件。一些示例字段插件模板是here,其中a form使用它们。
您会注意到,在几乎所有情况下,输入字段都会作为f:field
标记的正文传递,例如
<f:field bean="competition" property="code" label="Code">
<g:textField name="${property}" value="${value}" class="input-xlarge" maxlength="191"/>
</f:field>
这可以更简洁地表达为:
<f:field bean="competition" property="code" label="Code"
input-class="input-xlarge" input-maxlength="191"/>
答案 1 :(得分:0)
我遇到过同样的问题。尝试使用bean =“ $ {class}”而不是bean =“ class”。 在“类”上,输入要尝试使用的类的名称