关于网友提出的“ list里面放的实体对象,页面用c:foreach应该怎么取?”问题疑问,本网通过在网上对“ list里面放的实体对象,页面用c:foreach应该怎么取?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
描述:
User user=null;
String hql="select uid,nickName from User";
List<Object[]> receiverList=emailService.getListByHql(hql);
List<User> tempList=new ArrayList<User>();
for(Object[] objs:receiverList)
{
user=new User();
user.setUid((Integer)objs[0]);
user.setNickName((String)objs[1]);
tempList.add(user);
}
System.out.println(tempList.size());
System.out.println(tempList.get(0).getUid());
System.out.println(tempList.get(0).getNickName());
Map request=(Map)ActionContext.getContext().get("session");
request.put("receiverList", tempList);
return SUCCESS;
<select name="receiver">
<c:forEach var="receiver" items="${receiverList }" varStatus="vs">
<option value="${receiver.uid }">${receiver.nickName }</option>
</c:forEach>
</select>
我在页面上这样写根本取不到,报
javax.el.PropertyNotFoundException: Property 'uid' not found on type java.lang.String
异常
解决方案1:
这要检查你的 User 实体类,User 是否有uid属性,并且是否有get set方法!
解决方案2:区分大小写某
解决方案3:<c:forEach var="receiver" items="${page.receiverList }" varStatus="vs">
解决方案4:页面用${sessionScope.receiverList }取值
解决方案5: ActionContext.getContext().getSession().put("receiverList", tempList)
用这种放放到session中
再不行的话,你换成structs的迭代标签
以上介绍了“ list里面放的实体对象,页面用c:foreach应该怎么取?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2865162.html