1.java异常处理机制:
public ActionForward listEC(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) {
try{
this.initLocation(request);
LoginUser loginUser = (LoginUser) WebUtils.getRequiredSessionAttribute(request, "loginUser");
Limit limit = ExtremeTablePage.getLimit(request);
Map<string object> filterMap = ExtremeTablePage.getFilter(limit);
filterMap.put("acinId", request.getParameter("acinId"));
filterMap.put("operUserId", loginUser.getId());
this.beForePropertiesSetForList(loginUser, filterMap);
Page page = entityManager.findBy(filterMap, ExtremeTablePage.getSort(limit), limit.getPage(), limit .getCurrentRowsDisplayed());
request.setAttribute("totalRows", page.getTotalCount()); request.setAttribute(this.getEntityListName(), page.getResult());
}catch(Exception e){
e.printStackTrace();
}
return mapping.findForward(this.LIST);
}
1.此处findBy()业务方法抛出异常,由try{}catch{}捕获。
org.springframework.dao.DataIntegrityViolationException: SqlMapClient operation; SQL []; --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ; nested exception is com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
Caused by: com.ibatis.common.jdbc.exception.NestedSQLException: --- The error occurred while applying a parameter map. --- Check the com.sniper.ghgAndpay.model.BargainPay.selectCount-InlineParameterMap. --- Check the statement (query failed). --- Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字</string>
修改:
public ActionForward listEC(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) {
try {
this.initLocation(request);
LoginUser loginUser = (LoginUser) WebUtils.getRequiredSessionAttribute(request, "loginUser");
Limit limit = ExtremeTablePage.getLimit(request);
Map<String, Object> filterMap = ExtremeTablePage.getFilter(limit);
filterMap.put("acinId", request.getParameter("acinId"));
filterMap.put("operUserId", loginUser.getId());
this.beForePropertiesSetForList(loginUser, filterMap);
Page page = entityManager.findBy(filterMap, ExtremeTablePage.getSort(limit), limit.getPage(), limit
.getCurrentRowsDisplayed());
request.setAttribute("totalRows", page.getTotalCount());
request.setAttribute(this.getEntityListName(), page.getResult());
} catch (Exception e) {
log.error(e);//项控制台输出日志信息
this.saveError(request, "ecListInputError");//提供错误信息给用户操作界面
request.setAttribute("totalRows", 0);
request.setAttribute(this.getEntityListName(), new ArrayList());
}
return mapping.findForward(this.LIST);
}