核心代码:
if(qiye.getLock()==1){
throw new Exception("对不起,你所要编辑的内容已锁定!");
}
未进行处理的效果:
进行处理后的效果:
两者的差别在Action类的处理不同:
未进行处理的Action类里面的方法代码:
publicString goupdategyqy()throws Exception{
lsgyService.goupdategyqy(qygyModel);
returnSUCCESS;
}
进行处理后的Action类里面的方法代码:
publicString goupdategyqy()throws Exception{
try{
lsgyService.goupdategyqy(qygyModel);
returnSUCCESS;
}catch(Exception e){
qygyModel.setErrormsg(e.getMessage());
returnERROR;
}
}
说明:未进行处理的的方法如果成功则只返回SUCCESS,然后转到成功页面。如果错误,则这个错误信息是按照普通的处理来处理的,没有进行任何人工的修饰,所以界面才会不友好。
进行处理后的方法内对原来的操行进行了异常捕捉,如果不成功将返回ERROR,ERROR这个字符串将会将异常信息传到错误页面上。然后对这个异常信息进行人工修饰从而提供较友好的界面提示。
SUCCESS和ERROR字符串又是如何将信息转到成功或者错误的页面的呢?
在xwork.xml里面配置的。
<global-results>
<resultname="error"type="freemarker">com/fail.htm</result>
<resultname="fail"type="freemarker">com/fail.htm</result>
<resultname="success"type="freemarker">com/success.htm</result>
</global-results>