1

在我的 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

但实际上在我的表单类中有这个属性的吸气剂。它是这样写的:

public Boolean getReceive() {
  return receive;
}

当我删除复选框时,也可以像<td>上面的 -tag 一样显示属性,所以我不知道问题出在哪里。

也许我以错误的方式访问它?

4

3 回答 3

0

struts Action 表单中的所有单个属性类型都应该是String。您必须将cbx_uebernehmen 定义为String 类型。

于 2010-06-17T11:34:23.693 回答
0

我认为你的getter方法应该是这样的(是......而不是get......):

public Boolean isCbx_uebernehmen() {
  return cbx_uebernehmen;
}

应该这样工作。如果仍然没有,请尝试将 return datatype 从 更改Booleanboolean

于 2010-06-17T11:41:35.320 回答
0

我现在这样做:

<c:forEach items="${MyForm.testList}" var="testElement" varStatus="status">
    <html:checkbox property="testList[${status.count-1}].checkboxValue" />
</c:forEach>

感谢这个问题

于 2010-06-21T06:02:46.970 回答