tag 'select', field 'list', name 'department.id':

下拉选择框:

<s:select class="form-control" list="#allDeparts" name="departmentId"  listKey="id" listValue="name" headerKey="-1" headerValue="--请选择--"/>


2017-01-22 11:29:14,365 ERROR [edu.ur.web.interceptor.EmailErrorInterceptor] emailing error 

org.apache.jasper.JasperException: tag 'select', field 'list', name 'department.id': The requested list key '#allDeparts' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}- [unknown location]
at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:549)

at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)


/**
	 * 用户配额入口
	 * @return
	 * 
	 */
	@LogAnnotation(menuName="用户配额",description="用户配额入口")
	public String prepare() {
		getAllDepartment();
		log.debug("userService="+userService);
		IrUser user = userService.getUser(userId, false);
		
		return SUCCESS;
	}
	
	
	/**  
	 * 方法功能说明:    获取系统所有子结点的部门
	 * @参数:       
	 * @return void     
	 * @throws  
	 */ 
	public void  getAllDepartment(){
		//获取系统中所有的部门
	List<Department> departments = departmentService.getAllDepartments();
	java.util.Iterator<Department> it = departments.iterator();
	
	while(it.hasNext()){
		Department depart = it.next();
		System.out.println("----------"+depart);
		if(depart.isChild()){
			System.out.println("======="+depart);
			departs.add(depart);
		}
	
	}
	System.out.println(departs);
	ActionContext.getContext().put("allDeparts", departs);



今天这个问题花了几个小时,原本快要放弃了,最后单点调试,逐个的把数据输出来才发现问题所在

1.在加载页面前,需要加载数据,导致了departs集合中为空

2.在迭代加入departs集合中出现了问题,主要是输出是也是it.next(),加入集合中数据过少,在最后的迭代判断的时出错

System.out.println("----------"+it.next());
if(it.next().isChild()){
System.out.println("======="+it.next());
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值