• [原创]java WEB学习笔记60:Struts2学习之路--Actioin-声明式异常处理


    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用

    内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系。

    本人互联网技术爱好者,互联网技术发烧友

    微博:伊直都在0221

    QQ:951226918

    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    1.exception-mapping 元素: 配置当前 action 的声明式异常处理

    2.exception-mapping 元素中有 2 个属性

       exception: 指定需要捕获的的异常类型。异常的全类名

       result: 指定一个响应结果, 该结果将在捕获到指定异常时被执行, 既可以来自当前 action 的声明, 也可以来自 global-results 声明.

    3.可以通过 global-exception-mappings 元素为应用程序提供一个全局性的异常捕获映射. 但在 global-exception-mappings 元素下声明的任何 exception-mapping 元素只能引用在 global-results 元素下声明的某个 result 元素

    声明式异常处理机制由 ExceptionMappingInterceptor 拦截器负责处理, 当某个 exception-mapping 元素声明的异常被捕获到时, ExceptionMappingInterceptor 拦截器就会向 ValueStack 中添加两个对象:

       exception: 表示被捕获异常的 Exception 对象

       exceptionStack: 包含着被捕获异常的栈

    可以在视图上通过 <s:property> 标签显示异常消息

     1 <?xml version="1.0" encoding="UTF-8" ?>
     2 <!DOCTYPE struts PUBLIC
     3     "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
     4     "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 
     6 <struts>
     7  
     8     <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant> 
     9      <package name="default" namespace="/" extends="struts-default">
    10      
    11          <!-- 配置全局 -->
    12          <global-results>
    13              <result name="input">/input.jsp</result>
    14          </global-results>
    15          
    16          <global-exception-mappings>
    17                  <exception-mapping result="input" exception="java.lang.ArithmeticException"></exception-mapping>
    18          
    19          </global-exception-mappings>
    20          
    21          <!-- 在一个action 中配置 -->
    22          <action name="product-save" class="com.jason.struts2.Product" method="save">
    23              <exception-mapping result="input" exception="java.lang.ArithmeticException"></exception-mapping>
    24              <result name="input">/input.jsp</result>
    25              
    26              <result name="success">/details.jsp</result>
    27          </action>
    28          
    29      </package>
    30 
    31     
    32     
    33     
    34 </struts>
  • 相关阅读:
    LVM快照备份与恢复
    Docker Images for MySQL Group Replication 5.7.14
    sysbench write and read only
    Leetcode: Closest Leaf in a Binary Tree
    Amazon | OA 2019 | Optimal Utilization
    物联网架构成长之路(27)-Docker练习之Zookeeper安装
    物联网架构成长之路(26)-Docker构建项目用到的镜像2
    物联网架构成长之路(25)-Docker构建项目用到的镜像1
    物联网架构成长之路(23)-Docker练习之Elasticsearch服务搭建
    物联网架构成长之路(22)-Docker练习之Etcd服务搭建
  • 原文地址:https://www.cnblogs.com/jasonHome/p/5838738.html
Copyright © 2020-2023  润新知