`

在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一点关系都没有

相关推荐

    Struts2之异常处理案例struts003

    - 应该尽量避免在Action方法中使用`try-catch`块,而是依赖于Struts2的异常处理机制。 - 全局异常处理应该作为最后的防线,用于处理未被局部异常处理捕获的异常。 - 使用自定义异常可以帮助代码更具可读性和可...

    struts手动异常处理

    5. **使用`ActionError`和`FieldError`**:Struts提供了一种将异常信息存储在`ActionContext`中的机制,通过`ActionError`和`FieldError`对象,可以将错误消息关联到特定的Action或者表单字段,方便在视图层显示。...

    struts2中异常处理(demo)

    这篇博客文章“Struts2中异常处理(demo)”可能详细介绍了如何在Struts2框架下优雅地处理程序中的异常。 在Java Web开发中,异常是程序运行时遇到的问题,例如无效的用户输入、资源未找到或内部系统错误。Struts2...

    Struts2异常处理机制

    在Struts2框架中,异常处理主要依赖于两个关键组件:`ExceptionMappingInterceptor`(异常映射拦截器)和`ActionError`。当一个Action执行过程中抛出未捕获的异常时,`ExceptionMappingInterceptor`会介入并根据配置...

    Struts1异常处理

    在Struts1中,异常处理主要通过两个组件来实现:`Action`类和`Tiles`或`Struts-config.xml`配置文件中的`exception`标签。当一个请求被发送到服务器并由Struts框架处理时,首先会执行相应的`Action`类。如果在这个...

    struts2 全局异常提示定义属性文件使用

    这篇博文主要探讨的是如何在Struts2中设置和使用全局异常提示属性文件。 首先,我们要理解Struts2的异常处理机制。当控制器或业务逻辑抛出异常时,Struts2框架会捕获这些异常并根据配置决定如何响应。默认情况下,...

    struts2处理项目全局异常

    项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。

    Struts中 下载时点击取消异常解决包

    如果在此过程中用户选择取消下载,浏览器可能会中断连接,但Struts2可能还在后台继续处理这个请求,导致资源未被正确释放,从而引发异常。 解决此类问题的关键在于正确处理文件流和用户请求的中断。以下是一些解决...

    Struts中文文档

    9. ** strut2-dojo-plugin**:Struts 2还提供了Dojo工具集插件,方便在Web应用中使用Dojo JavaScript库,增强前端交互体验。 10. **拦截器(Interceptors)**:Struts 2引入了拦截器的概念,它允许在Action调用前后...

    Struts2 异常处理的四种获取属性方法

    局部异常映射是在Action类内部进行的,通过在`@Action`注解中使用`exception`属性来指定。这种方法允许你为特定的Action定义异常处理逻辑。例如: ```java @Action(value = "myAction", results = { @Result...

    struts中文帮助手册

    7. **国际化与本地化**:讲解如何在Struts中实现多语言支持,以及资源文件的使用。 8. **最佳实践**:提供一些优化Struts应用的建议,如性能调优,代码结构的优化等。 9. **案例分析**:通过实际应用场景,展示...

    struts2的异常处理机制

    Struts2是一个流行的Java web框架,它提供了强大的异常处理机制,使得开发者能够优雅地管理和展示在应用程序中出现的错误和异常。以下是对Struts2异常处理机制的详细说明: 1. **异常处理流程**: 当一个Action...

    在Struts2中使用JasperReports生成报表

    将Struts2与JasperReports结合使用,可以方便地在Web应用中实现动态报表的生成和展示。 首先,我们需要了解Struts2中整合JasperReports的基本步骤: 1. **环境准备**:确保你已经安装了MyEclipse开发环境,并且在...

    Struts 声明式异常处理和个性化异常处理

    在提供的压缩包文件"Struts_exception"中,可能包含了Struts异常处理的相关示例代码或者教程,例如如何配置struts.xml,如何创建自定义异常类,以及如何在Action中进行异常处理等。这些资源可以帮助开发者更深入地...

    struts2的异常处理

    首先,你需要在Action类中抛出一个自定义的运行时异常,并在该异常中包含需要返回给客户端的错误信息。例如: ```java public class MyAction { public String execute() throws MyCustomException { // 业务逻辑...

    struts2 的异常收集

    在Struts2框架的应用中,经常会出现各种类型的异常,其中一种常见的异常便是数字格式异常(`NumberFormatException`)。这种异常通常发生在应用程序尝试将非数字字符串转换为数字类型(如`Integer`或`Double`)时。 ...

    struts常见异常及处理

    - **异常描述**:当在 JSP 页面中使用自定义标签时,如果标签中定义了 `name` 属性,则必须同时定义 `type` 属性。 - **解决方案**: - 检查 JSP 页面中的标签是否正确设置了 `type` 属性。 - 如果 `name` 属性值...

    struts1.x 异常处理机制

    此外,对于Struts1.x中与Action相关的异常,如`org.apache.struts.action.ActionException`,你可以在Action类中直接抛出,框架会自动处理这些异常,并根据`struts-config.xml`中的配置进行相应操作。 总结来说,...

    Struts2的异常处理

    2. 动作级别异常处理:在具体的Action类中,你可以使用`@ExceptionHandler`注解来处理特定的异常。这个注解允许你指定一个方法来处理特定类型的异常。例如: ```java public class MyAction { @ExceptionHandler...

Global site tag (gtag.js) - Google Analytics