修改数据 然后违反唯一 约束了 不报异常,但是JAVA程序就停在这儿不往下执行了,想给前台错误提示都不行
Dao层:
public void update(RoomInfo ri) {
RoomInfo rInfo=this.get(ri.getRoomId()); //先查出来再修改 防止null出现
if(ri.getRoomNo()!=null && !"".equals(ri.getRoomNo()) && !"null".equals(ri.getRoomNo()))
{
rInfo.setRoomNo(ri.getRoomNo());
}
if(ri.getTypeId()!=null && !"".equals(ri.getTypeId()) && !"null".equals(ri.getTypeId()))
{
rInfo.setTypeId(ri.getTypeId());
}
if(ri.getRoomMoney()!=null && !"".equals(ri.getRoomMoney()) && !"null".equals(ri.getRoomMoney()))
{
rInfo.setRoomMoney(ri.getRoomMoney());
}
if(ri.getRoomFloor()!=null && !"".equals(ri.getRoomFloor()) && !"null".equals(ri.getRoomFloor()))
{
rInfo.setRoomFloor(ri.getRoomFloor());
}
if(ri.getRoomStatus()!=null && !"".equals(ri.getRoomStatus()) && !"null".equals(ri.getRoomStatus()))
{
rInfo.setRoomStatus(ri.getRoomStatus());
}
if(ri.getPs()!=null && !"".equals(ri.getPs()) && !"null".equals(ri.getPs()))
{
rInfo.setPs(ri.getPs());
}
super.getHibernateTemplate().update(rInfo);
}
业务逻辑层:
public boolean doUpdate(RoomInfo ri) {
boolean f=false;
try
{
this.roomInfoDao.update(ri);
f=true;
} catch (Exception e)
{
f=false;
throw new RuntimeException("RoomInfoBizImpl-doUpdate()",e);
}
return f;
}
action:
public String edRoom() //修改房间
{
boolean f=this.roomInfoBiz.doUpdate(ri);
// session.put("allMsg", YwtTools.getMsg(f, "修改房间"));
System.out.println("f=="+f);
if(f)
{
sysMsg="true";
}else
{
sysMsg="false";
System.out.println("ssg=="+sysMsg);
}
return "getJson";
}
在逻辑层抛出的exception没有在action捕获, 所以就没法跑下去给前台提示了.
可以试试在逻辑层那里不抛出exception, 只用logger来记录在日志, 这样能返回f给action判断结果
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。