春季表单直接绑定到字段

问题描述:

有没有办法使用Spring的form标签绑定到字段而不是“setter”和“getter”方法?春季表单直接绑定到字段

事情是这样的:

public class Foo { 
    public String bar; 
} 

<form:form modelAttribute="foo"> 
    <form:input path="bar" /> 
</form> 

但是,如果没有使用多余的方法:

org.springframework.beans.NotReadablePropertyException: Invalid property 'bar' of bean class ... Bean property 'bar' is not readable or has an invalid getter method 

不幸的是,我认为,模型对象需要有豆式的干将(“信息getX( )“或”isX()“)和setters(”setX()“)以使表单绑定标签正常工作。如果您发现将它们添加到模型类中很烦人,大多数IDE都可以通过几次击键为您生成这些文件。

如果您担心修改现有模型对象,您也可以考虑维护专门用于表单绑定的单独对象 - 当然这也会导致额外的维护。

+0

你是对的; BeanWrapperImpl不支持字段访问。我希望避免荒谬的“getter/setter”样板,但它看起来像被卡住了。 – earldouglas 2012-04-10 00:58:18