`
lelong
  • 浏览: 555751 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2.0 公共异常跳转

 
阅读更多

在项目中采用了struts2的<global-results>&<global-exception-mappings>处理异常,并在web页面上显示异常,在这里备忘一下

1.在strtus.xml中配置如下 

<!---->  <global-results>
    
<result name="unhandledException">/common/systemFail.jsp</result>
    
<result name="input">/common/headerMsg.jsp</result>
 
</global-results>

 
<global-exception-mappings>
    
<exception-mapping exception="java.lang.Exception" result="unhandledException"/>
    
<exception-mapping exception="com.xxxx.exception.GuiException" result="input"/>
 
</global-exception-mappings>

GuiException是自定义的Exception

2.完成systemFail.jspheaderMsg.jsp,headerMsg显示的是知道的Exception,systemFail.jsp显示unhandle的Exception

<!---->systemFail.jsp
<%@ include file="../common/header.jsp" %>
  <div style="padding-top:30px">

    
</div>
    
<div id="systemFailed" style="text-align:left; padding-left:80px; padding-right:80px;">
        
<s:property value="exception"/>
    
</div>
    
<br/>
    
<div style="text-align:left; padding-left:80px; padding-right:80px;">
        
<s:property value="exceptionStack"/>
    
</div>
<%@ include file="../common/footer.jsp" %>


headerMsg.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="/struts-tags" %>

<div id="errorMessage" class="errorMessageText">
<s:actionerror/>
<s:actionmessage/>

<s:if test="exception != null">
    <s:if test="exception.errorCode != null">
        <s:set name="errorCode" value="exception.errorCode"/>
        <s:set name="args" value="exception.args"/>
        <s:text name="${errorCode}">
            <c:forEach var="arg" items="${args}">
                <s:param>${arg}</s:param>
            </c:forEach>
        </s:text>
    </s:if>
    <s:else>
        <s:property value="exception.message"/>
    </s:else>
</s:if>
</div>

这里的Exception已经是自定义的GUIException(在struts.xml中配置过了),所以直接从里面取信息(args,errCode...)

3. 在Action中trhows GuiException,然后strtus2会默认使用exception的interceptor将Action中抛出的GUIException拦截,然后匹配xml文件,这样就完成了错误处理.

总结:
  还是利用了struts2的interceptor机制,方便的拦截了异常.
<package name="pkg" extends="struts-default" abstract="true">
<global-results>
...
</global-results>

<global-exception-mappings>
...
</global-exception-mappings>
</package>

<package name="test" namespace="/test" extends="pkg">
</package>

 

分享到:
评论

相关推荐

    struts2.0中文教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单...

    Struts2.0视频教程+struts2.0中文教程

    Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0视频教程+struts2.0中文教程"包含的资源旨在...

    Struts 2.0系列(MAX)

    Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...

    JavaEE源代码 Struts2.0

    JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...

    struts2.0的特点

    Struts2.0是Java Web开发领域中的一款流行框架,它是Struts1.x与WebWork框架的结合体,继承了两者的优点并进行了创新。在Struts2.0中,核心概念之一是Action,它被设计为一个简单的POJO(Plain Old Java Object),...

    Struts2.0 Jar包

    Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...

    Struts2.0的api

    Struts2.0是Java Web开发中的一个热门框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建动态Web应用程序的强大工具。API文档是理解任何框架核心功能的关键,对于Struts2.0也不例外。让我们深入...

    三大框架中文文档中的struts2.0开发手册(程序员必看)

    6. **异常处理**:Struts2.0提供了全局的异常处理机制,可以统一处理应用程序中的异常,提高代码的可维护性和用户体验。 7. **国际化支持**:Struts2.0内置了对多语言的支持,可以轻松实现应用的国际化。 8. **...

    Struts 2.0

    Struts 2.0 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web应用程序框架。它并非Struts 1的直接升级,而是源自WebWork框架,提供了更强大的特性和灵活性。Struts 2的核心是Action,它是业务逻辑处理的...

    Struts2.0学习系列 以及 Struts2.0安装包

    Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0学习系列"旨在帮助初学者及进阶者深入理解并...

    struts 2.0

    10. **异常处理**: Struts 2.0提供了全局和局部的异常处理机制,允许开发者集中处理程序运行时的错误,提高代码的健壮性。 通过以上介绍,我们可以看出Struts 2.0是一个功能完善的MVC框架,它不仅弥补了Struts 1.0...

    struts2.0的数据校验框架struts2.0的数据校验框架

    struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架

    struts 2.0 详细配置

    ### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...

    Struts 2.0全攻略之Struts 2.0参考手册

    Struts 2.0提供了一套完整的异常处理机制,可以捕获并处理Action执行过程中的异常,同时提供自定义的错误页面。 9. **国际化与本地化** Struts 2.0支持多语言环境,通过资源包(Resource Bundle)管理不同语言的...

    初识[Struts2.0]并[使用Struts2.0]进行SSH集成

    Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Struts项目的一个版本,专门用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。Struts2.0的出现极大地简化了Java Web开发,...

    struts2.0入门案例

    Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...

    struts2.0的 jar包和源文件

    Struts2.0 是一个非常流行的Java Web框架,它基于MVC(Model-View-Controller)设计模式,用于构建高效、可维护的企业级应用程序。这个压缩包包含了Struts2.0的核心jar文件以及可能的源代码,使得开发者可以直接查看...

    Struts_2.0从入门到精通

    一、为Struts2.0做好准备 在开始Struts2.0的学习之旅前,首要任务是搭建开发和运行环境。这一步骤至关重要,它包括从Apache官方网站下载Struts2.0包,以及在Eclipse等IDE中创建新的Web项目。通过将Struts2.0的库...

    struts2.0环境配置

    Struts2.0是Java Web开发中一个非常重要的框架,它基于MVC(Model-View-Controller)设计模式,提供了一种结构化的解决方案,用于构建更健壮、可维护的Web应用程序。本教程将详细讲解如何在Myeclipse集成开发环境中...

Global site tag (gtag.js) - Google Analytics