我一直在尝试遍历承包商的ArrayList,并选择其中一个传递给控制器POST方法。 我一无所获。
下面给出了第二个块中显示的错误。 我想我没有正确地取消引用它。
我只需要挑选出登录 ID 并将其传递给控制器。
<c:forEach items="${searchResults}" var="searchResult">
<tr>
<td><c:out value="${searchResult.loginId}" /></td>
<td><c:out value="${searchResult.email}" /></td>
<td><c:out value="${searchResult.firstName}" /></td>
<td><c:out value="${searchResult.lastName}" /></td>
<td><form:radiobutton path="${searchResult.loginId}" value="${searchResult.loginId}"/></td>
</tr>
</c:forEach>
错误消息(抱歉长度)。
org.apache.jasper.JasperException: org.springframework.beans.NotReadablePropertyException: Invalid property 'BC2506E93E207D1AE040700ACA2479D7' of bean class [java.util.ArrayList]: Bean property 'BC2506E93E207D1AE040700ACA2479D7' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?
path
应该是与表单关联的命令 oject 的属性的名称。对于单选按钮标记,将检查单选按钮是否与 path 属性引用的属性中的值与 value
属性引用的值相同。
因此,如果命令对象具有 getFoo()/setFoo()
属性,并且getFoo()
返回"hello",并且searchResult.getLoginId()
返回"hello",则以下标记
<form:radiobutton path="foo" value="${searchResult.loginId}"/>
将生成以下已检查的 HTML 无线电输入:
<input type="radio" value="hello" checked="checked"/>
如果searchResult.getLoginId()
返回"再见",则以下标记
<form:radiobutton path="foo" value="${searchResult.loginId}"/>
将生成以下未选择的 HTML 无线电输入:
<input type="radio" value="goodbye"/>