我有一个包含用户的列表。我正试着用JSP打印它,但有些地方我无法让它打印出来。获取此异常HTTP Status 500 - javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Neither BindingResult nor plain target object for bean name 'users[0]' available as request attribute
JSP中的代码
<c:forEach items="${users}" var="user" varStatus="status">
<spring:bind path="users[${status.index}].name">
<c:out value="${status.value}" />
</spring:bind>
</c:forEach>控制器
ModelAndView modelAndView = new ModelAndView("go_some_JSP_page");
List<UserEntity> users = userManager.getAllObjects();
modelAndView.addObject("users", users);顺便说一句,UserEntity有name字段。如果我删除绑定并尝试使用<c:out value="user.name" />打印user.name,它将打印该值
我在哪里做错了,我需要做什么?谢谢
下面的代码无法正常工作。我必须在字段@NumberFormat上调用格式化,所以我必须尝试使用status变量
<spring:bind path="user.name">
<c:out value="${status.value}" />
</spring:bind>获取此错误--> javax.servlet.ServletException: javax.servlet.jsp.JspTagException: Neither BindingResult nor plain target object for bean name 'user' available as request attribute
因此添加了一个bean绑定,然后我得到了空表:(。我相信这是因为实例是空的。因此,这似乎不是一个正确的方法。
@ModelAttribute("user")
public UserEntity userEntityBinding() {
return UserEntity.newInstance();
}https://github.com/hth/StatusInvoke.git上有一个可以正常工作的代码
如果您在部署它时遇到任何问题,请告诉我。
这个问题已经解决了。感谢您的关注。
发布于 2013-01-03 09:19:26
调用@NumberFormat注释的正确答案是使用spring:eval expression标记
<spring:eval expression="user.balance" />这将调用注释并执行注释中提到的格式化
发布于 2013-01-08 20:25:09
您可以尝试使用LazyList而不是简单的list。如果你想看一下这个例子,你可以参考我的一个question。在问题陈述中,我提到了如何使用LazyList。
希望这对你有帮助。干杯。
发布于 2012-12-31 18:52:56
如果返回了correct和list,则这是填充列表的正确方法
ModelAndView modelAndView = new ModelAndView("go_some_JSP_page");
List<UserEntity> users = userManager.getAllObjects();
modelAndView.addObject("users", users);这是引用列表的正确方式
<c:forEach items="${users}" var="user" varStatus="status">
<spring:bind path="user.name">
<c:out value="${status.value}" />
</spring:bind>
</c:forEach>您的问题一定是出现在其他地方: name字段已明确填充,调用的jsp是否正确...上面的代码是正确的,应该可以工作。
https://stackoverflow.com/questions/14100402
复制相似问题