来自网站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}" />