• SSH-struts2的异常处理


    在学习j2se的时候学习过利用java的exception类去处理异常。在struts2框架中也提供了对于异常的处理。简单说就是当Action发生异常时。能够在struts2.xml文件里进行配置,将页面跳转进行调整,给用户一个更人性化的反馈。

    在struts2的异常处理中。分为两种异常处理,一种是全局的:全部Action出现异常都能够跳转到此页面。

    还有一种是局部的:指定某一个Action异常跳转到此页面。

    局部异常处理
    在struts2.xml中在exception-mapping节点中指定result属性名称;exception属性中指定异常类,此类要继承exception。
    result节点中指定name属性,以及异常发生后跳转的页面。

    <?xml version="1.0" encoding="UTF-8"?

    > <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="struts2" extends="struts-default"> <action name="login" class="com.syq.struts2.LoginAction" > <exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping> <exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping> <result name="success">/result.jsp</result> <result name="usernameInvalid">/UsernameInvalid.jsp</result> <result name="passwordInvalid">/PasswordInvalid.jsp</result> </action> </package> </struts>

    全局异常处理
    global-results节点中指定异常跳转的页面;global-exception-mappings中指定异常类。

    <?

    xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="struts2" extends="struts-default"> <global-results> <result name="usernameInvalid">/UsernameInvalid.jsp</result> <result name="passwordInvalid">/PasswordInvalid.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping> <exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping> </global-exception-mappings> <action name="login" class="com.syq.struts2.LoginAction" > <result name="success">/result.jsp</result> </action> </package> </struts>

    我们即能够在Action中定义异常与结果。也能够定义全局的异常与结果,局部的优先级要大于全局的,假设定义全局的那么能够为全部的Action所公用。而局部的异常与结果仅仅能被当前的Action所独享。

  • 相关阅读:
    20201304杨淑钰+快速浏览教材
    20201304 自我介绍
    熟悉编程语言
    俄罗斯方块游戏代码的改写
    2020 -2021-1 20201319 《信息安全专业导论》第八周学习总结
    如何学好编程
    2020-2021-1 20201319 《信息安全专业导论》第七周学习总结
    2020-2021-1 20201319 《信息安全专业导论》第六周学习总结
    实现进制转换伪代码
    斐波那契数列递归实现
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/7142532.html
Copyright © 2020-2023  润新知