`

Struts2中使用通配符访问action的方法

    博客分类:
  • J2EE
阅读更多

 

struts.xml 定义
  1. <!-- 使用缺省的struts的配置文件,struts2的支持jar包: struts2-core-2.0.11.2.jar中 -->
  2.     <include file="struts-default.xml" />
  3.     <!--
  4.         Struts2常量配置 struts.devMode:开发模式,修改配置信息可以不必重新部署服务器
  5.         struts.i18n.encoding:国际化编码
  6.         struts.ognl.allowStaticMethodAccess:允许ognl访问静态方法
  7.     -->
  8.     <constant name="struts.devMode" value="true" />
  9.     <constant name="struts.i18n.encoding" value="UTF-8" />
  10.     <constant name="struts.ognl.allowStaticMethodAccess" value="true" />
  11.     <constant name="struts.custom.i18n.resources" value="globalMessages" />
  12.     
  13.     <!--定义全局变量-->
  14.     <package name="global" namespace="/" extends="struts-default">
  15.         <global-results>
  16.             <result name="login">/login.jsp</result>
  17.             <result name="error">/WEB-INF/error.jsp</result>
  18.         </global-results>
  19.         <!-- 全局返回结果在上,全局异常定义在下,不要弄反了。 -->
  20.         <global-exception-mappings>
  21.             <exception-mapping result="error" exception="Exception"></exception-mapping>
  22.         </global-exception-mappings>
  23.     </package>
  24.     <package name="webconfig" namespace="/" extends="global" >
  25.         <action name="config" class="action.Webconfig">
  26.             <result name="success">/WEB-INF/pages/web/webinfo.jsp</result>
  27.         </action>
  28.        
  29.         <!-- 使用通配符匹配方法 -->
  30.         <action name="ajax_*" class="action.Ajax" method="{1}">
  31.             <result name="success">/WEB-INF/pages/web/webinfo.jsp</result>
  32.         </action>
  33.          
  34.     </package>

Java代码
  1. public class Ajax extends ActionSupport {
  2.     public String error() throws Exception{
  3.         ActionContext.getContext().getSession().put("message","error");
  4.         System.out.println("error");
  5.         throw new Exception();//直接产生异常验证全局异常设置       
  6.     }
  7.     public String success(){
  8.         ActionContext.getContext().getSession().put("message","success");
  9.         System.out.println("success");
  10.         return "login";
  11.     }
  12.     public String execute() throws Exception {
  13.         ActionContext.getContext().getSession().put("message","execute");
  14.         System.out.println("execute");
  15.         return "login";
  16.     }
  17. }
页面代码
  1. <s:action name="ajax!error" namespace="/" executeResult="true"></s:action>
  2.         <!--假如ajax!error中有session定义,那么session取值应在ajax!error执行后 -->
  3.         <div style="height: auto; width: auto; background-color: red">
  4.             <s:property value="#session.message" />
  5.         </div>

  6.         <s:form method="post" action="config.action">
  7.             <s:textfield name="drepName" value="%{drepName}" label="单位名称:" />
  8.             <s:submit></s:submit>
  9.         </s:form>
  10.         <%=session.getAttribute("message")%>
分享到:
评论

相关推荐

    Struts2中使用通配符优化配置

    下面是如何在Struts2中使用通配符进行配置的示例: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;action name="user_*" class="com.example.UserAction"&gt; ...

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

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

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

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

    Struts2通配符

    本文主要介绍Struts2中的通配符配置,这是一种非常实用且灵活的方式来处理复杂的URL映射。 #### 二、Struts2中的Action配置 在Struts2中,`Action`是框架的核心组件之一,用于处理用户的请求。`Action`接口定义了...

    struts2.5+框架使用通配符与动态方法常见问题小结

    通配符是Struts2.5框架中的一种强大的功能,它允许开发者使用通配符来指定方法,减少配置文件中的action数量。动态方法则是Struts2.5框架中的一种动态调用方法的方式,它允许开发者使用动态调用方法来实现灵活的方法...

    struts2通配符示例代码

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

    struts2 action的三种访问方式

    在Struts2中,Action是处理用户请求的核心组件。它负责业务逻辑的执行,并将结果返回给视图进行展示。本篇文章将详细介绍Struts2 Action的三种访问方式:传统方式、通配符方式和动态方式。 1. **传统方式(Static ...

    struts2 通配符配置

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

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

    在Struts2的配置文件(通常为struts.xml或struts.properties)中,我们定义Action的映射规则,包括请求路径、方法调用以及结果视图等。默认情况下,一个Action类对应一个请求URL,但通过特定配置,可以让一个Action...

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

    在 Struts2 中,我们可以使用不同的方式来动态调用 Action 的指定方法,例如使用表单提交、struts.xml 配置、通配符方法等方式。此外,我们还可以配置默认的 Action 和全局结果,以便更好地管理我们的应用程序。

    struts2通配符的使用详解

    通过以上示例可以看出,在Struts2框架中使用通配符可以显著减少配置文件的工作量,使得配置更为简洁。但同时也要注意到,为了能够有效利用通配符,需要事先制定一套明确的命名规则。此外,虽然通配符可以简化配置,...

    struts2通配符示例

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

    struts2动态调用之通配符

    本文将深入探讨Struts2中的动态调用之通配符特性。 首先,我们要理解在Struts2中,动态调用的基本概念。它允许我们不在配置文件中为每个Action的每一个method单独指定一个URL,而是通过某种约定或规则来映射多个...

    Struts2动态方法调用

    在Struts2中,JavaScript可以用来发起Ajax请求,动态调用后台Action的方法。例如,我们可以使用jQuery的`$.ajax`或`$.post`方法,配合Struts2的ActionContext,将请求参数传递给服务器。在服务器端,Struts2会解析...

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

    ### Struts2中Action获取属性范围的方法 #### 一、引言 在Struts2框架中,为了实现灵活的应用逻辑处理,开发人员往往需要在Action类中获取诸如`request`、`session`等HTTP范围对象的数据。Struts2提供了一系列方便...

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

    4. **内置对象获取**:Struts2提供了一系列内置对象,如`ActionContext`、`ValueStack`、`Session`等,开发者可以直接在Action类中使用。例如,`ActionContext`提供了访问请求、会话、上下文等信息的方法;`...

    Struts2请求处理方法的处理

    通过以上分析可以看出,Struts2中的通配符映射提供了强大的路由机制,使得开发者能够更轻松地管理和扩展应用程序。同时,多个请求处理方法的设计模式也极大地提高了代码的可读性和可维护性。掌握这些技巧将有助于...

    Struts2 配置通配符和错误页面

    在Struts2中,使用通配符可以简化配置,提高代码的可维护性和复用性。通配符允许我们定义一个模式来匹配多个Action配置,而不是为每个单独的Action编写单独的配置项。 1.1 **Action配置通配符** 通配符配置通常是...

    Struts2_通配符映射

    根据提供的描述,本文将详细介绍如何实现Struts2中的通配符映射,并结合具体的步骤来阐述整个过程。 **第一步:创建动态Web工程** 1. **创建工程:** - 在开发环境中创建一个新的动态Web工程,例如名为`struts2-7...

    Struts2教学视频

    Namespace是Struts2中用于组织Action的一种方式,可以看作是Action的命名空间。它有助于避免Action名称冲突,同时提供了更灵活的URL映射策略。 **四、标签** 标签在struts.xml中定义一个配置包,可以包含多个Action...

Global site tag (gtag.js) - Google Analytics