在我的Struts表单中,我有一个列表。在JSP中,我像这样迭代它:
<c:forEach items="${MyForm.types}" var="type">
<tr>
<td>${type.name}</td>
<td>${type.forced}</td>
<td>${type.receive}</td>
<html:checkbox property="type.receive" />
</tr>
</c:forEach>
现在<html:checkbox
无效。我总是收到以下错误:
Caused by: javax.servlet.jsp.JspException: No getter method for property type.receive of bean org.apache.struts.taglib.html.BEAN
但实际上我的表单类中有这个属性的getter。它是这样写的:
public Boolean getReceive() {
return receive;
}
当我删除复选框时,也可以在上面的<td>
- 标签中显示该属性,因此我不知道问题出在哪里。
也许我以错误的方式访问它?
答案 0 :(得分:0)
struts Action表单中的所有单个属性类型都应该是String.You必须将cbx_uebernehmen定义为String Type。
答案 1 :(得分:0)
我认为你的getter方法应该是这样的(是......而不是get ...):
public Boolean isCbx_uebernehmen() {
return cbx_uebernehmen;
}
应该那样工作。如果仍然没有,请尝试将返回数据类型从Boolean
更改为boolean
。
答案 2 :(得分:0)
我现在这样做:
<c:forEach items="${MyForm.testList}" var="testElement" varStatus="status">
<html:checkbox property="testList[${status.count-1}].checkboxValue" />
</c:forEach>