grid提前加载因缺少参数造成的后台错误
一般是由后台方法缺少必要的参数造成的。可加入判断,如果参数为空,则返回一个空的grid.
完成方法代码如下:
//分页查询所有修改人public String findAll(){String searchWord = ServletActionContext.getRequest().getParameter("searchWord");String testId = ServletActionContext.getRequest().getParameter("testIdStr");Condition condition = null;ConditionRuleGroup crg = new ConditionRuleGroup();if(condition ==null){condition = new Condition();}if(searchWord != null && !"".equals(searchWord)){ConditionRule cr1 = new ConditionRule("userName",searchWord,Mode.CONTAIN,Condition.Type.AND);ConditionRule cr2 = new ConditionRule("testId",Integer.parseInt(testId),Condition.Mode.EQUAL,Condition.Type.AND);crg.addRule(cr1,cr2);condition.addRuleGroup(crg);}else if(testId !=null){condition.addRuleByEqual("testId", Integer.parseInt(testId));}else{JSONObject map=new JSONObject();map.put("gridRoot", "[]");map.put("totalCount", 0);BeanUtil.servletOutPrint(map);return null;}Ordinal ordinal = new Ordinal();try {if(!EJBServiceFactory.lookupSuccess || EJBServiceFactory.remoteInterfacetestModifier==null){throw new BanyanException(BanyanException.LOOKUP_FOR_REMOTE_NAMING_EXCEPTION_INFO);}JSONArray ary = new JSONArray();List<RstestModifier> list = ((RstestModifierFacadeRemote)EJBServiceFactory.remoteInterfacetestModifier).findPagedList(start, limit, condition, ordinal);for (RstestModifier rstestModifier : list) {JSONObject temp = JSONObject.fromObject(rstestModifier);ary.add(temp);}Integer count = ((RstestModifierFacadeRemote) EJBServiceFactory.remoteInterfacetestModifier).findRecordCount(condition);Map<String,Object> map = new HashMap<String,Object>();map.put("gridRoot", ary);map.put("totalCount", count);String json = JsonUtil.map2json(map);BeanUtil.servletOutPrint(json);} catch (Exception e) {e.printStackTrace();}return null;}