访问属性迭代列表时" />

无法使用 访问属性迭代列表时

发布于 2024-09-06 04:27:34 字数 791 浏览 5 评论 0 原文

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

现在 不起作用。我总是收到以下错误:

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;
}

当我删除复选框时,也可以显示上面 标记中的属性,所以我不知道问题出在哪里。

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

In my Struts form I've got a list. In a JSP I iterate over it like this:

<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>

Now the <html:checkbox isn't working. I'm always getting the following error:

Caused by: javax.servlet.jsp.JspException: No getter method for property type.receive of bean org.apache.struts.taglib.html.BEAN

But actually there is a getter for this property in my form class. It's written like this:

public Boolean getReceive() {
  return receive;
}

When I remove the checkbox it's also possible to display the property as in the <td>-tag above so I don't know where the problem is.

Maybe I'm accessing it in the wrong way?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

终陌 2024-09-13 04:27:34

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

All the individual properties type in struts Action form should be String.You have to define cbx_uebernehmen as String Type.

天涯沦落人 2024-09-13 04:27:34

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

public Boolean isCbx_uebernehmen() {
  return cbx_uebernehmen;
}

应该像那样工作。如果仍然没有,请尝试将返回数据类型从 Boolean 更改为 boolean

I think your getter method should look like this (is... instead of get...) :

public Boolean isCbx_uebernehmen() {
  return cbx_uebernehmen;
}

Should work like that. If it still doesn't, try changing return datatype from Boolean to boolean.

淡淡绿茶香 2024-09-13 04:27:34

我现在这样做:

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

感谢 这个问题

I'm now doing it like this:

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

Thanks to this question.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文