Spring Mvc选项实现



来自网站http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html,

我知道spring mvc中的选项标签实现如下所示

<tr>
    <td>Country:</td>
    <td>
        <form:select path="country">
            <form:option value="-" label="--Please Select"/>
            <form:options items="${countryList}" itemValue="code" itemLabel="name"/>
        </form:select>
    </td>
    <td></td>
</tr>

我已经按照我的需要实现了这段代码,如下

<tr>
        <td>Country:</td>
        <td>
            <form:select path="minerals">
                <form:option value="-" label="--Please Select"/>
                <form:options items="${mineralList}" itemValue="code" itemLabel="name"/>
            </form:select>
        </td>
        <td></td>
    </tr>

这里mineralList是包含矿物名称的列表,由控制器类中的refereceData()方法返回。

我的模型类如下所示

class Stones{
String minerals;
public String getMinerals() {
    return minerals;
}
public void setMinerals(String minerals) {
    this.minerals = minerals;
}
}

当应用程序运行时,异常发生

bean类[java.lang. js]的属性'code'无效。字符串]:Bean属性'code'是不可读的或有一个无效的getter方法:getter的返回类型是否匹配setter的参数类型?

解决方案是什么?请给我建议

您得到这个是因为您已经告诉标签在生成<option>标签时使用列表中每个项目的name属性。但是你的列表是由字符串组成的,它们没有name属性。

只要把它从标签中去掉就可以了,也就是:

<form:select path="minerals" items="${mineralList}" />

最新更新