`
hulunberbus
  • 浏览: 894109 次
文章分类
社区版块
存档分类
最新评论

Struts 2读书笔记-----使用Action的动态方法调用

 
阅读更多

struts 2提供了包含处理多个逻辑的Action,从而允许一个Action内包含多个控制处理逻辑。例如一个页面中存在多个按钮,用户通过不同的按钮提交同一个表单时,可以使用Action的不同的方法来处理用户的请求。如下图页面

页面中有两个提交按钮,但分别提交给Action的不同方法处理,“登陆”按钮使用登陆逻辑来处理请求,而“注册”按钮则使用注册逻辑来处理请求。

此时,可以采用动态方法调用来处理 这种请求。动态方法调用是指表单元素的action并不是直接等于某个Action的名字,而是以下面形式来指定表单的action属性

action属性为actionName!methodName形式 其中ActionName指定提交给那个Action,而methodName指定提交给该Action的某个方法
即:action = ”ActionName!methodName"

上面的注册按钮是一个没有任何动作的按钮,但单击该按钮时会触发regist函数

regist函数:

上面的regist方法改变表单的action属性,修改action的属性为“login!regist",其实质就是将该表单提交给LoginAction的regist方法处理

Login|Action类的代码:

上面的Action代码中定义了改Action里包含的register控制逻辑,在默认情况下,用户请求不会提交该方法。当在单击“登陆”按钮时,系统将提交给LoginAction的默认方法处理。当单击“注册”按钮时,该表单的action被修改为login!regist,系统将提交改LoginAction的regist方法处理。

通过这种方式,我们可以通过在一个Action中包含多个处理逻辑,并通过为该表单元素指定不同action属性来提交给Action的不同方法。

对于使用动态方法调用的方法,该方法的方法声明与系统默认的execute方法的方法只有方法名不同,其他部分如形参列表,返回值类型都应该完全相同。

在试用合格动态方法调用前必须设置Struts 2允许动态方法调用。开启系统的动态方法调用时通过设置struts.enable.DynamicMethodInvocation常量完成的。设置该常量为true,将开启动态方法调用;否则则关闭动态方法调用。

读李刚《轻量级java EE企业应用实战(第三版)—struts 2+Spring 3+Hibernate整合开发》

分享到:
评论

相关推荐

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

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

    struts2 学习重点笔记

    - **原理**:Struts2 的拦截器会在 Action 执行完成后,调用 getter 方法并将结果存储到适当的范围对象中。 **3.4 请求转发与重定向** - **转发**:Action 的 execute 方法返回一个字符串,根据这个字符串找到对应...

    struts2综合笔记

    Struts2 提供了一种统一的方法来构建 Web 应用程序,并且具有良好的扩展性和灵活性。 - **官方网站**: [Struts 官网](http://struts.apache.org/) - **下载**: 可以在 [Struts 下载页面]...

    Struts2 笔记12-20 浪曦风中叶

    ### Struts2 笔记12-20 浪曦风中叶 #### Struts2 第12 讲:StrutsListener(创建监听器) **1. 创建监听器** - **步骤一**:首先创建一个包 `com.test.listener`,接着在其中建立一个名为 `MyListener` 的 Java ...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Action类通常包含了业务逻辑的处理方法,这些方法会被Struts2调用以响应用户的请求。Action类可以通过返回不同的字符串来决定后续的视图显示,如返回"success"、"error"等,这些字符串与配置文件中的Result相关联。 ...

    struts2 学习笔记 实战

    本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace Namespace在Struts2中主要用于组织和隔离Action,它决定了Action的访问路径。默认情况下,Namespace为...

    Struts2框架笔记

    3. **动态方法调用**: 通过动态调用的方式访问Action中的方法。 #### 结果页面配置 1. **全局结果页面**: 通过在`<package>`标签下添加`<global-results>`标签来配置,适用于多个Action共享相同的视图场景。 2. **...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2课程笔记

    拦截器是Struts2的核心特性之一,它可以插入到Action调用前后,执行预处理和后处理任务,如日志记录、权限检查、事务管理等。表单验证则通过配置XML或者注解实现,确保输入数据的有效性。国际化支持让应用能够适应...

    struts2学习笔记

    此外,Struts2还支持动态方法调用、国际化、主题和模板、AJAX集成等特性,为开发者提供了全面的Web应用开发解决方案。在实际开发中,熟练掌握Struts2的各种机制和最佳实践,能提高开发效率和代码质量。

    2012struts2读书笔记

    - `struts.enable.DynamicMethodInvocation`控制动态方法调用的支持。 - `struts.multipart.maxSize`限制上传文件的最大大小。 6. 多个Struts配置文件的引入: 通过`<struts>”struts-user.xml”/>”struts-order....

    SSH笔记-Spring整合Struts2

    通过`<action>`标签的`class`属性设置为`org.springframework.web.struts2.SpringAction`,然后使用`spring bean`属性引用Spring配置中的Bean ID。 4. **Spring插件**:在Struts2的配置中,添加Spring插件配置,以...

    黑马程序员Struts2笔记

    Struts2的核心是Action,它负责接收请求并调用业务逻辑,然后返回结果给用户。 2. **配置Struts2** 在Struts2中,配置主要包括两个部分:struts.xml配置文件和web.xml。struts.xml用于定义Action、结果类型、拦截...

    struts2框架学习笔记整理

    - **动态方法调用**:支持动态方法调用,允许通过URL参数指定要执行的方法名称。 - **Action配置**:定义Action的名称、类以及执行的方法。 #### 三、Struts2框架进阶 ##### 3.1 参数封装 - **属性驱动**:通过...

    struts2详细学习笔记

    常量配置的进阶使用可能涉及到动态配置、插件配置等,可以灵活调整Struts2的行为,以满足不同应用场景的需求。 总的来说,学习Struts2需要理解这些基本配置元素的含义和用法,以及如何通过常量配置来调整框架的行为...

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

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

Global site tag (gtag.js) - Google Analytics