1.当访问的Action不存在时,页面会显示错误信息,可以通过配置默认Action处理用户异常的操作;
2.配置方法:
    在struts.xml文件中的<package>下添加如下内容:
        <default-action-ref name="index"></default-action-ref>
    其中index为默认Action的name属性值;
3.配置默认Action后,相应的namespace下不存在要访问的Action时,自动跳转到默认Action处理。

实例:

web.xml:

01.<?xml version="1.0" encoding="UTF-8"?>
02.<web-app version="2.5" 
05.    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee;
07.  <welcome-file-list>
08.    <welcome-file>hello.jsp</welcome-file>
09.  </welcome-file-list>
10.  <filter>
11.    <filter-name>struts2</filter-name>
12.    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
13.  </filter>
14.  <filter-mapping>
15.    <filter-name>struts2</filter-name>
16.    <url-pattern>/*</url-pattern>
17.  </filter-mapping>
18.</web-app>

struts.xml:

01.<?xml version="1.0" encoding="UTF-8" ?>
02.<!DOCTYPE struts PUBLIC
03.    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
05.  
06.<struts>
07.    <!-- 
08.    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
09.    <constant name="struts.devMode" value="false" />
10.  
11.    <include file="example.xml"/>
12.  
13.  
14.  
15.    <package name="default" namespace="/" extends="struts-default">
16.        <default-action-ref name="index" />
17.        <action name="index">
18.            <result type="redirectAction">
19.                <param name="actionName">HelloWorld</param>
20.                <param name="namespace">/example</param>
21.            </result>
22.        </action>
23.    </package>
24.     -->
25.  
27.    <constant name="struts.devMode" value="true" />
28.    <constant name="struts.i18n.encoding" value="GBK"></constant>
26.    <!-- 注意添加在这里-->
29.     <package name="user" namespace="/" extends="struts-default">
30.         <default-action-ref name="index"></default-action-ref>
31.        <action name="index">
32.            <result>/index.jsp</result>
33.        </action>
34.    </package>
35.</struts>

index.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
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>My JSP 'index.jsp' starting page</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>
       result结果类型<br>
       <ol>
          <li><a href="r/r1">dispatcher</a></li>
          <li><a href="r/r2">redirect</a></li>
          <li><a href="r/r3">chain</a></li>
          <li><a href="r/r4">redirectAction</a></li>
       </ol>
     
  </body>
</html>

截图:

 
 
好了!

Struts2中配置默认Action的更多相关文章

  1. 在struts.xml中配置默认action遇到的问题

    初始代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC & ...

  2. 在Struts2中配置Action

    在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package&g ...

  3. SpringBootSecurity学习(05)网页版登录内存中配置默认用户

    默认用户 前面的例子中我们使用的都是配置文件中配置好的默认用户: 除了可以配置账号密码,还可以在配置文件中配置角色: 这个角色是后面实现权限过滤的重要内容,后面会重点讨论. 在内存中配置默认用户 这样 ...

  4. 详解struts2中配置action的方法

    如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作, ...

  5. struts2配置默认Action

    作用:当一个请求无法匹配到任何一个struts的action时,可以配置一个默认Action 例如:当请求路径不正确时,跳转到一个404.jsp页面 <package extends=" ...

  6. 在struts2中配置自定义拦截器放行多个方法

    源码: 自定义的拦截器类: //自定义拦截器类:LoginInterceptor ; package com.java.action.interceptor; import javax.servlet ...

  7. 由struts2中配置使用servlet引发的思考和复习

    Struts2拦截器到底拦截了什么? 关于struts2中的拦截器,首先再次理解其实只能过滤其中访问的action的映射!再者,因为struts中的action其实就是起到替代servlet作用的,所 ...

  8. struts2中怎么把action中的值传递到jsp页面

    对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让 ...

  9. struts2中<welcome-file>index.action</welcome-file>直接设置action,404的解决方案

    这几天的项目页面的访问全部改为.action访问,在修改首页时遇到了问题.将web.xml文件中<welcome-file>index.action</welcome-file> ...

随机推荐

  1. C# ServiceStack.Redis 操作对象List

    class Car { public Int32 Id { get; set; } public String Name { get; set; } static void Main(string[] ...

  2. 转 vagrant package[打包命令]详解

    转 vagrant package[打包命令]详解   vagrant的一个非常重要的功能就是在你的同事之间分享你的box从而使大家的开发环境保持同步,打包[package]正是实现这一功能的关键所在 ...

  3. JavaScript事件

    关于JavaScript事件讲解得很全面的一篇文章:http://www.cnblogs.com/tugenhua0707/p/4501843.html 如下代码需要注意的一点是,除了getEvent ...

  4. 锋利的jQuery-2--一个显示和隐藏的例子,主要看写法

    例子:如图,默认不显示全部,点击按钮来回切换,全部显示是一部分推荐的品牌高亮. $(function(){ //dom加载完再执行 var category = $('ul li:gt(5):not( ...

  5. nuget pack

    nuget spec nuget setApiKey yourkeynuget pack PluginMvc.Framework.csproj -Prop Configuration=Releasen ...

  6. 自定义 SqlHelp

    using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Data; usin ...

  7. 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProject\bin \testProject.DLL”。请在类型名称中显式指定程序集。

    问题描述: RT 分析器错误消息: 类型“test.test.testx”不明确: 它可能来自程序集“F:\testProject\bin\test.test.DLL”或程序集“F:\testProj ...

  8. Hello Kitty微信主题很可爱?小心财产安全!

    个性化是产品服务的一个趋势.微信很火,可为什么微信主题只有一个呢?你让那些小女生情何以堪?这时HelloKitty微信主题.大嘴猴.哆啦A梦等一大批主题在网上出现了,有些打着免费的旗号却做着盗号的勾当 ...

  9. shell安装MySQL二进制包

    现在解压MySQL二进制包,稍作配置,就能用了,安装速度快,安装来练习最好不过了,哈哈 该脚本只是安装二进制的MySQL包,my.cnf只修改了简单的选项,没有过多进行设置,若朋友们用我的脚本安装作为 ...

  10. 避免使用CSS表达式

    http://www.cnblogs.com/chenxizhang/archive/2013/05/01/3053439.html 这一篇我来和大家讨论个原则:Avoid CSS Expressio ...