Spring MVC Form Tag - 单选按钮

时间:2013-01-26 19:38:48

标签: java spring-mvc

我一直在尝试遍历承包商的ArrayList,并选择其中一个传递给Controller POST方法。我无处可去。

以下给出了第二个块中显示的错误。我想我并没有正确地解释它。

我只需要选择loginId并将其传递给控制器​​。

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

1 个答案:

答案 0 :(得分:5)

path应该是与表单关联的命令对象的属性的名称。对于radiobutton标记,如果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()返回“goodbye”,则返回以下标记

<form:radiobutton path="foo" value="${searchResult.loginId}"/>

将生成以下未选择的HTML无线电输入:

<input type="radio" value="goodbye"/>