S4.3_Struts2_ActionAdvance默认的action配置如何处理到错误页的跳转

来源:互联网 发布:vocaloid辅助软件 编辑:程序博客网 时间:2024/05/17 20:37

我们接下来将要创建的项目目录结构如下:


default-action-ref,是默认的action配置元素,就是当你的URL没有匹配上任何页面地址的时候,它就会找到这个默认的action。

由项目 S4.2_Struts2_ActionAdvance(如何下载它:点击打开链接)复制粘贴生成一个新项目 ------ S4.3_Struts2_ActionAdvance

第1步:在src/struts.xml文件中,找到父包default,插入红色字体标识部分代码:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
    <constant name="struts.devMode" value="true" ></constant>
    <constant name="struts.i18n.encoding" value="utf-8" ></constant>
     <!-- 父包default -->
     <package name="default" namespace="" extends="struts-default">
        <!-- default-action-ref的位置必须放在父包内部最前面 -->
        <default-action-ref name="error"></default-action-ref>

        <global-results>
        <result name="login_success">/login_success.jsp</result>
            <result name="login_failure">/login_failure.jsp</result>
        </global-results>
        <action name="exit">
        <result>/login.jsp</result>
        </action>
        <!-- 处理错误的action位置必须放在父包内部最后面 -->
        <action name="error">
        <result>/error.jsp</result>
        </action>

     </package>
    <!-- 子包user继承于父包default -->
    <package name="user" namespace="/user" extends="default">
        <action name="login" class="net.nw.action.LoginAction3">
        </action>
    </package>
    <!-- 子包admin继承于父包default -->
    <package name="admin" namespace="/admin" extends="default">
        <global-results>
            <result>/admin/result.jsp</result>
        </global-results>
        <action name="login" class="net.nw.action.AdminAction">
   <result>/admin/admin.jsp</result>
        </action>
        <action name="admin" class="net.nw.action.AdminAction">
        </action>
    </package>
</struts>

第2步:创建WebRoot/images文件夹,下载或者自己制作一个出错了的图片保存在图片文件夹里

第3步:创建WebRoot/error.jsp错误信息显示页面文件,代码如下:

<%@ page language="java" import="java.util.*" %>
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>出错了</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
  <body>
    <center>
    <h1>出错了</h1>
    <hr>
    <img alt="ERROR" src="images/error.png"><br>
    <a href="<%=path%>/exit.action">返回</a>

    </center>
  </body>
</html>

第4步:发布运行程序,看一下效果图:

本项目下载地址:点击打开链接

0 0