Java 使用列表绑定错误

Java 使用列表绑定错误,java,spring-mvc,Java,Spring Mvc,我生成了一个表单: <form:form action="${contextPath}/draw/constraints.do" method="post" modelAttribute="order"> <c:forEach items="${order.myDrawsAsArray}" var="draw" varStatus="status"> <label class="radio-inline"><form:radiobutton path="

我生成了一个表单:

<form:form action="${contextPath}/draw/constraints.do" method="post" modelAttribute="order"> <c:forEach items="${order.myDrawsAsArray}" var="draw" varStatus="status">
<label class="radio-inline"><form:radiobutton path="myDrawsAsArray[${status.index}].readable" value="true" /> yes</label>
<label class="radio-inline"><form:radiobutton path="myDrawsAsArray[${status.index}].readable" value="false" /> no</label>
</c:forEach></form:form>
如果您需要,我也会发布我的实体:

@Entity
@Table (name="order3d")
public class Order3d implements Serializable {
    private static final long serialVersionUID = -2241346447352903470L;
    public enum State {DEMAND, ESTIMATED, PAYED, PENDING, PRODUCED, SENT, DELIVERED};
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column (name="id")
    private int id;
    @OneToMany(mappedBy="order3d", fetch = FetchType.EAGER, cascade=CascadeType.ALL)
    private Set<DrawFile> myDraws;
public Set<DrawFile> getMyDraws() {
    return myDraws;
}
public List<DrawFile> getMyDrawsAsList() {
    return new ArrayList<DrawFile>(myDraws);
}
public Object[] getMyDrawsAsArray() {
    return myDraws.toArray(); //line 121
}
    //other getters & setters
    public Order3d() {}
}
@Entity
@Table (name="draw", uniqueConstraints=@UniqueConstraint(columnNames="hashname"))
public class DrawFile implements Serializable {
    private static final long serialVersionUID = -9024754876558087847L;
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column (name="id")
    private int id;
    @Column (name="hashname", columnDefinition="CHAR(64)")
    private String hashname;
    @Column (name="filename")
    private String filename="";
    @Column (name="readable", columnDefinition = "BIT", length = 1)
    private Boolean readable;
    //getters & setters
    public DrawFile() {}
}
@实体
@表(name=“order3d”)
公共类Order3d实现了可序列化{
私有静态最终长serialVersionUID=-2241346447352903470L;
公共枚举状态{需求、估计、付款、待定、生成、发送、交付};
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“id”)
私有int-id;
@OneToMany(mappedBy=“order3d”,fetch=FetchType.EAGER,cascade=CascadeType.ALL)
私人设置myDraws;
公共集getMyDraws(){
返回myDraws;
}
公共列表getMyDrawsAsList(){
返回新的ArrayList(myDraws);
}
公共对象[]getMyDrawsAsArray(){
返回myDraws.toArray();//第121行
}
//其他接受者和接受者
公共医嘱3D(){}
}
@实体
@表(name=“draw”,uniqueConstraints=@UniqueConstraint(columnNames=“hashname”))
公共类DrawFile实现了可序列化{
私有静态最终长serialVersionUID=-9024754876558087847L;
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“id”)
私有int-id;
@列(name=“hashname”,columnDefinition=“CHAR(64)”)
私有字符串哈希名称;
@列(name=“filename”)
私有字符串filename=“”;
@列(name=“可读”,columnDefinition=“位”,长度=1)
私有布尔可读;
//接球手和接球手
公共绘图文件(){}
}

我在网上搜索,但没有找到解决办法。有什么想法吗?

试试在Order3d和DrawFile类的字段中添加getter/setter怎么样

如果字段为,则getter和setter必须与字段名匹配

List<DrawFile> myDraws;
列出myDraws;
那么getter/setter必须是:(它不能是getMyDrawsAsList())

公共列表getMyDraws(){ 返回myDraws; } 公共void setMyDraws(列出myDraws){ this.myDraws=myDraws; }
u无法使用[index]读取集合我现在返回一个带有
public List getMyDrawsAsList()的列表但是我得到了一个新的异常:
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常为org.springframework.beans.InvalidPropertyException:bean类[com.entity.Order3d]的无效属性“myDrawsAsList[0]”:属性“myDrawsAsList”的Getter引发异常;嵌套异常是java.lang.reflect.InvocationTargetException
我刚刚做了,但出现了错误(我更新了我的第一篇文章:getter、JSP和exception)我添加了与我的集合相关的getter,更改了我的JSP以获取数组,但我在布尔标志上抛出了一个新的exceptionDefine getter和setter请
List<DrawFile> myDraws;
public List<DrawFile> getMyDraws() {
    return myDraws;
}


public void setMyDraws(List<DrawFile> myDraws) {
    this.myDraws = myDraws;
}