_list取到值了,但是取出来一直有问题,一get就跳转异常,快疯了,是三张表的联合查询
- Java code
//servicepublic List<Evaluatescholarship> find(String year,String major,Timestamp startTime,Timestamp endTime)throws BusinessException{ StringBuffer queryStringBuffer = new StringBuffer("from Evaluatescholarship e,Stubasicinfo s,Majorinfo m where e.stubasicinfo = s.stbStuNo and s.majorinfo = m.mno"); System.out.println("servicebefore"); String[] params = new String[] {year, major}; if(!"".equals(year)){ queryStringBuffer.append(" and s.syear = ? ");// queryStringBuffer.append(" syear="+"'"+year+"'"); if (!"".equals(major)) { //queryStringBuffer.append(" and e.stubasicinfo.majorinfo.mname = ? "); queryStringBuffer.append(" and m.mname = ? ");// queryStringBuffer.append(" and majorinfo.mname="+"'"+major+"'");// +" and estartTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" and eendTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" "); } else {// queryStringBuffer.append(" and estartTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" and eendTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" "); } } else {// queryStringBuffer.append(" estartTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" and eendTime between "+"'"+startTime+"'"+" and "+"'"+endTime+"'"+" "); } System.out.println(queryStringBuffer); List<Evaluatescholarship> _list = this.evaluateScholarshipDao.find(queryStringBuffer.toString(), params); if(null == _list) { throw new BusinessException("无法取到值"); } return _list; }
- Java code
//daopublic List<Evaluatescholarship> find(String queryString, String[] params){ System.out.println("daobefore"); List list = this.dataAccessUtil.find(queryString,params); System.out.println(list.isEmpty()); return (List<Evaluatescholarship>)list; }
- Java code
//actionpublic String findList() throws Exception{ String currentTime = TimeGenerator.getCurrentTime(); try { /*System.out.println("actionbefore"+evaluatescholarship.getStubasicinfo().getSyear().toString()); System.out.println(evaluatescholarship.getStubasicinfo().getMajorinfo().getMname().toString());*/ List<Evaluatescholarship> _list = this.evaluateScholarshipService.find(evaluatescholarship.getStubasicinfo().getSyear(),evaluatescholarship.getStubasicinfo().getMajorinfo().getMname(),startTime,endTime); System.out.println("evaluateScholarAction size="+_list.size()); if (null == _list) { return "input"; } else { System.out.println("action getEno = "+(((Evaluatescholarship)(_list.get(0))).getEno().toString()));//一执行到这句就异常,明明list值取出来了的 logger.info(currentTime + " 用户【" + _list + "】登录:"); ActionContext.getContext().put("esList", _list); return "success"; } } catch (Exception e) {// logger.info(" ******************** Method: [execute] ******************** " + // "throw an exception,the reason may be username or password is wrong!"); e.printStackTrace(); return "input"; }