我正在使用Spring 3.1。以弹簧形式显示ArrayList
我想在JSP中的弹簧形式显示对象的ArrayList。最后,我需要为每个对象设置一个复选框,以便用户可以选择一行,然后按下按钮以执行一些后端操作。但我无法使用Spring表单显示数据。我一直收到一个异常:
org.springframework.beans.NotReadablePropertyExcep tion:bean类[java.util.ArrayList]的无效属性'datafeed [0]:Bean属性'datafeeds [0]'不可读或有一个无效的getter方法:......“
这里是缩小代码:
<form:form method="post" commandName="datafeeds">
<table>
<thead>
<tr>
<th>Name</th>
<th>State</th>
</tr>
<tbody>
<c:forEach items="${datafeeds}" var="datafeed" varStatus="vs">
<tr>
<td><form:label path="datafeeds[${vs.index}].name/></td>
<td><form:label path="datafeeds[${vs.index}].state/></td>
</tr>
</c:forEach>
</tbody>
</table>
</form>
则控制器:
@Controller
public class DataFeedController
{
@Autowired
SomeService service;
@RequestMapping(value="/datafeed")
public String showDataFeed(Model m) {
List<DataFeed> datafeeds = service.list();
m.addAttribute("datafeeds", datafeeds);
return "datafeed";
}
}
具体来说,我想我的问题,我s如何将commandName,forEach循环中的变量和Controller中的数据一起工作?任何人都可以使用上面的代码显示我吗?
得到了进一步,但仍然得到一个例外。这一次,我碰到一个“bean类[java.util.ArrayList中]的无效属性‘MYNAME’:Bean属性‘MYNAME’不可读.....”在哪里“MYNAME”是$ {} datafeed.name实际值来自DB。 – wxkevin
为了最终在这里的其他人的利益,这个答案是错误的。表单标签不能访问datafeed bean。 – TedTrippin