`
rguess
  • 浏览: 70239 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类

Struts2通配符配置action,然后设置default action不生效的一个bug

阅读更多
在struts配置文件中,使用通配符配置action,如下:
<action name="*_*" class="com.dview.sxeq.action.{1}Action" method="{2}">
			
  <result name="userDeleteSuccess" type="redirectAction">User_userList</result>
  <result name="addUserSuccess" type="redirectAction">User_userList</result>
			
</action>


然后再在这个package中设置 default-action-ref
<default-action-ref name="default" />
	<action name="default">
	   <result>/nopage.jsp</result>
	</action>


经过多次反复试验设置的default-action是不生效的,它依然会去找上面那个通配符设置的action,找不到就会报错,所以本人认为这是一个bug。

若想使用 default-action-ref的功能,就只有改配置文件如以下这样配置
<package name="default" namespace="/" extends="struts-default">

		<!-- 定义默认拦截器及默认Action-->
		<default-action-ref name="default" />

		<!-- 定义Action-->
		<action name="default">
			<result>/nopage.jsp</result>
		</action>

		<action name="User_*" class="com.dview.sxeq.action.UserAction"
			method="{1}">
			<result name="userDeleteSuccess" type="redirectAction">User_userList</result>
			<result name="addUserSuccess" type="redirectAction">User_userList</result>
			<result name="getAddUserjsp">/jsp/user/addUser.jsp</result>
			<result name="userList">/jsp/user/userList.jsp</result>
			<result name="login_fail">/login.jsp</result>
			<result name="login_success" type="redirectAction">User_userList</result>
			<result name="loginOutSuccess" type="redirect">/login.jsp</result>
		</action>

		<action name="Role_*" class="com.dview.sxeq.action.RoleAction"
			method="{1}">
			<result name="getAddRolejsp">/jsp/role/addRole.jsp</result>
			<result name="roleList">/jsp/role/roleList.jsp</result>
			<result name="roleDeleteSuccess" type="redirectAction">Role_roleList</result>
			<result name="addRoleSuccess" type="redirectAction">Role_roleList</result>
		</action>

		<action name="Right_*" class="com.dview.sxeq.action.RightAction"
			method="{1}">
			<result name="rightList">/jsp/right/rightList.jsp</result>
		</action>

		<action name="Log_*" class="com.dview.sxeq.action.LogAction"
			method="{1}">
			<result name="logList">/jsp/log/logList.jsp</result>
			<result name="logDeleteSuccess" type="redirectAction">Log_logList</result>
		</action>

		<action name="Department_*" class="com.dview.sxeq.action.DepartmentAction"
			method="{1}">
			<result name="deparList">/jsp/department/departmentList.jsp</result>
			<result name="getAddDepartmentjsp">/jsp/department/addDepartment.jsp</result>
			<result name="addDepartmentSuccess" type="redirectAction">Department_departmentList
			</result>
			<result name="departmentDeleteSuccess" type="redirectAction">Department_departmentList
			</result>
		</action>
	</package>

struts还真是麻烦啊
2
6
分享到:
评论
2 楼 melearner 2014-12-26  
是struts2的哪个版本啊?
1 楼 yangyiko 2013-08-10  
呵呵,我也遇到这个BUG,
弄了好久,感觉可以加一个interceptor可以解决

相关推荐

    struts2 通配符配置

    在Struts2中,通配符配置是一项强大的功能,它允许开发者以更灵活的方式定义Action映射,从而提高代码的复用性和配置的简洁性。这篇博客可能详细解释了如何在Struts2框架中使用通配符配置来简化Action配置。 通配符...

    Struts2_Action学习笔记、通配符{1},{2}

    ### Struts2_Action 学习笔记与通配符配置详解 #### 一、Struts2简介及简单配置 Struts2是一个基于Java EE平台的开源Web应用框架,它继承了Struts1的优点,并在此基础上进行了大量的改进。Struts2的核心功能之一是...

    Struts2中使用通配符优化配置

    在Struts2的配置文件(通常为struts.xml或struts-default.xml)中,通配符是一种特殊字符,如`*`,它可以用作占位符,匹配一组相似的Action或URL。通过使用通配符,我们可以创建一组通用的配置规则,这些规则可以...

    struts2利用通配符调用同一个Action里面不同的方法

    在Struts2中,Action是业务逻辑处理的核心,而通配符的使用则是Struts2框架中一种灵活的配置方式,允许我们以更简洁的方式调用同一个Action中的不同方法。下面我们将深入探讨如何利用Struts2的通配符来实现这一功能...

    struts2通配符示例代码

    在Struts2的配置中,通配符(Wildcard)的使用是一个非常实用的功能,它使得URL映射更加灵活,减少了重复配置。下面将详细解释Struts2通配符的用法,并结合示例代码进行解析。 1. **Struts2通配符概述** Struts2的...

    Struts2通配符

    Struts2的通配符配置是一种非常强大的特性,它可以显著简化Action的配置,提高开发效率。通过对不同类型的通配符配置进行了解和实践,开发者能够更好地掌握Struts2框架的核心技术,从而构建出更加灵活和高效的Web...

    struts2一个action处理多个请求 struts2实例

    默认情况下,一个Action类对应一个请求URL,但通过特定配置,可以让一个Action处理多个请求。 1. **配置Action映射** 在`struts.xml`文件中,我们可以使用`&lt;action&gt;`元素来定义Action的映射。如果希望一个Action...

    struts2 action 配置方法 &&struts2的配置文件

    - **struts.properties**:这是一个属性配置文件,用来设置Struts2框架的行为,比如全局错误页面、主题模板等。 - **struts-default.xml**:包含了Struts2框架的默认配置,比如默认的Result类型和Interceptor栈。 - ...

    struts2通配符示例

    在Struts2中,通配符匹配功能是一个非常实用的特性,它允许我们使用一种相对灵活的方式来映射Action请求,从而简化配置并提高代码的可维护性。以下是对"struts2通配符示例"的详细解释: 1. **通配符匹配原理**: ...

    Struts2的配置文件的详细说明

    Struts2是一个强大的MVC框架,它通过提供配置文件来管理应用程序的行为,使得开发者能够灵活地定义Action、拦截器和结果映射。本文将深入探讨Struts2的配置文件,特别是`struts.xml`文件中的关键元素和属性。 在...

    Struts2 配置通配符和错误页面

    通配符允许我们定义一个模式来匹配多个Action配置,而不是为每个单独的Action编写单独的配置项。 1.1 **Action配置通配符** 通配符配置通常是在`struts.xml`文件中完成的。例如,以下配置将匹配所有以`user_`开头...

    struts2通配符的使用详解

    通过预设一定的命名规则,可以利用通配符来匹配一系列类似的Action名称,从而避免对每一个具体的Action都进行显式配置。 #### 三、配置文件详解 在Struts2的配置文件`struts.xml`中,可以通过以下方式使用通配符:...

    struts2配置文件

    在这个配置中,我们定义了一个名为`struts2`的包,它继承自`struts-default`包,这意味着我们可以使用默认的配置。`action`元素指定了一个名为`login_*`的动作,其中星号(*)是一个通配符,表示所有以`login_`开头的...

    struts2 action的三种访问方式

    Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建Java Web应用程序。在Struts2中,Action是处理用户请求的核心组件。它负责业务逻辑的执行,并将结果返回给视图进行展示。本篇文章将详细介绍Struts2 ...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    2. **通配符**:Struts2支持使用通配符来匹配多个Action。比如,`*`可以匹配任何字符,`{1}`、`{2}`等可以捕获URL中的动态参数。例如,`&lt;action name="user_*_*" class="com.example.UserAction"&gt;`可以匹配`user_get...

    struts2笔记之动态调用Action指定方法及默认Action

    在 Struts2 中,还可以配置默认的 Action,例如:&lt;package ...&gt;&lt;default-action-ref name="myDefaultAction"/&gt;这时,我们可以在 struts.xml 文件中定义一个默认的 Action,例如:&lt;action name="myDefaultAction" ...

    struts2动态调用之通配符

    它允许我们不在配置文件中为每个Action的每一个method单独指定一个URL,而是通过某种约定或规则来映射多个请求到同一个Action的不同方法。这样,当我们需要添加或修改方法时,无需频繁地更新配置文件,降低了工作量...

    Struts2 如何使Action取得属性范围 通配符 国际化等内容

    public class Login2Action extends ActionSupport implements ServletRequestAware { private static final long serialVersionUID = 1L; private HttpServletRequest request; public void setServletRequest...

    Struts2 in action中文版

    第一部分 Strut 2:一个全新的框架 第1章 Struts 2:现代Web框架 2 1.1 Web应用程序:快速学习 2 1.1.1 构建Web应用程序 2 1.1.2 基础技术简介 3 1.1.3 深入研究 6 1.2 Web应用程序框架 7 1.2.1 什么是框架 7 1.2.2 ...

    Struts2教学视频

    标签在struts.xml中定义一个配置包,可以包含多个Action,每个Action都有自己的命名空间和配置。包还可以继承其他包,重用配置。 **五、Action** Action是Struts2中的核心组件,负责处理用户的请求,执行业务逻辑,...

Global site tag (gtag.js) - Google Analytics