数据模型
package com.foo.bar.baz.model
class Customer {
Integer id
String firstName
String lastName
.....
}
GSP
....
<f:with bean="Customer">
<f:field property="firstName"/>
</f:with>
....
GSP不在views \ customer目录中,而是在views \ customerRegistration中。 当我尝试查看我得到的页面时:
URI /对myApp / customerRegistration /索引 的类 org.springframework.beans.NotReadablePropertyException 的消息 bean类[java.lang.String]的属性'firstName'无效:Bean属性'firstName'不可读或getter方法无效:getter的返回类型是否与setter的参数类型匹配?
为什么不能读取数据对象中的firstName字段?
我尝试在标记中添加完整的包(“bean =”com.foo.bar.baz.model.Customer“),它只更改了java.lang上面错误消息中的”bean类“。字符串到java.lang.Class
答案 0 :(得分:1)
想出来。
fields标记需要一个实时Customer对象,而不是对该类的引用。为了解决这个问题,我做了以下几点:
在控制器中创建一个新的空客户对象并将其提供给视图:
render(view: "myView", model: [emptyCustomer: new Customer()])
然后更改视图以使用此对象,一切正常:
<f:with bean="emptyCustomer">
<f:field property="firstName"/>
</f:with>