`

在Struts中使用异常

阅读更多
在Struts中使用异常
1 自定义用户异常
 public class MyException extends Exception{
 private String code;
 
 public MyException(){
  super();
 }
 
 public MyException(String code){
  this.code=code;
 }
 public String getCode() {
  return code;
 }
 public void setCode(String code) {
  this.code = code;
 }
}
2 在相应的业务方法中抛出异常
public boolean isExistMember(String memberCode)throws MyException{
  
 List list=(List)baseDAO.getByProperty("TMember","memberCode",memberCode);
  
 if(list.size()>0){
   
  throw new MyException("Error_001"); 
   
 }else{
  return false;
 } 
}
3 在Action中作出相应的页面跳转
public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response) {
  AddMemberForm addMemberForm = (AddMemberForm) form;// TODO Auto-generated method stub
  
  try{     
   if(!memberManager.isExistMember(addMemberForm.getMemberCode())){   
    memberManager.addMember(addMemberForm);
   }
  }catch(MyException ee){
   request.setAttribute("code",ee.getCode());
   return mapping.findForward("error");  
  }catch(Exception e){
   e.printStackTrace();
  }
    
  return mapping.findForward("success");
 }

*其中"error","success"要先在对应的Action中配置好,内容如下
        name="addMemberForm"
      path="/addMember"
      scope="request">     

4 首先定义好Struts中常用的标签文件,把这些标签统一放到一个jsp文件中方便在其它页面使用标签时可以直接引用
taglibs.jsp内容如下:<!---->

5 再创建一个引用properties文件的jsp文件
i18n.jsp内容如下:
<fmt:setbundle basename="com.demo.resource.member" var="addMember"></fmt:setbundle>
其中member.properties文件内容如下:
####==============Error====================
Error_001=此会员已存在!

####==============Success====================
Succ_001=增加成功!

 

6 在jsp页面使用时:
如在error.jsp内容如下:
<!---->
<!---->
<!---->

<!---->
<html:html lang="true">
 
    <html:base>    
   
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
 
 
 
  error.jsp
 
 
  <fmt:message bundle="${addMember}"><!----></fmt:message>  
   
  </html:html>

<html:html lang="true">   
 
  
  <fmt:message bundle="${addMember}"><!----></fmt:message>   
    
  </html:html>
 
分享到:
评论
1 楼 hantsy 2007-08-28  
Struts提供了ExceptionHandler处理Exception,
文中的处理方法与struts一点关系都没有

相关推荐

Global site tag (gtag.js) - Google Analytics