Не удается получить доступ к свойству с помощью <html: checkbox property = "..."> при итерации списка - PullRequest
1 голос
/ 17 июня 2010

В моей форме 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>, поэтому я не знаю, в чем проблема.1013 * Может быть, я неправильно обращаюсь к нему?

Ответы [ 3 ]

0 голосов
/ 17 июня 2010

Я думаю, что ваш метод получения должен выглядеть следующим образом (is ... вместо get ...):

public Boolean isCbx_uebernehmen() {
  return cbx_uebernehmen;
}

Должен работать так.Если это не помогло, попробуйте изменить тип возвращаемых данных с Boolean на boolean.

0 голосов
/ 21 июня 2010

Я сейчас делаю это так:

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

Благодаря этот вопрос .

0 голосов
/ 17 июня 2010

Все отдельные типы свойств в формах действий должны быть String. Вы должны определить cbx_uebernehmen как String Type.

...