`
CoderDream
  • 浏览: 478393 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

【张冰Struts2学习笔记】0501.struts.xml配置详解之四 Action配置1

阅读更多

struts.xml 配置详解之四 Action 配置1

1.      Action 配置

1.1 Action 映射

action 元素的属性

属性名称

是否必须

说明

  name

  action 的名字,用于匹配请求URI

  class

  Action 实现类的完整类名

  method

  执行Action 时调用的方法

  converter

  用于action 的类型转换器的完整类名

action 配置示例:

代码清单 1 struts.xml 片段

< package name = "loginTest" extends = "struts-default">

      < action name = "login" class = "com.coderdream.action.LoginAction">

           < result name = "success"> /msg/loginSuc.jsp </ result >

           < result name = "input"> /msg/loginFail.jsp </ result >

      </ action >

</ package >

注意,

1、 action name 属性是必须的,其他属性是可选的。

2、 name 中默认不能有/ (斜线),虽然可以修改常量来打开这个功能,但是强烈建议不要这样做,通过命名空间可以实现类似的功能。

代码清单 2 struts.xml 片段

< constant name = "struts.enable.SlashesInActionNames" value = "true" />

3、 名字中尽量不要使用点号(. )和连字符(- ),否则可能出现一些莫名其妙的问题。

1.2 、使用 method 属性

新建一个TestAction 类,其中包含增删改查方法。

代码清单 3 TestAction 片段

public class TestAction extends ActionSupport {

      public String add() {

           System.out .println("Add 方法被调用 " );

           return SUCCESS ;

      }

 

      public String delete() {

           System.out .println("delete 方法被调用 " );

           return SUCCESS ;

      }

 

      public String update() {

           System.out .println("update 方法被调用 " );

           return SUCCESS ;

      }

 

      public String query() {

           System.out .println("query 方法被调用 " );

           return SUCCESS ;

      }

}

action method 配置:

代码清单 4 struts.xml 片段

< package name = "test" extends = "struts-default" >

      < action name = "add" class = "com.coderdream.action.TestAction"

           method="add" >

           < result name = "success" > /msg/add.jsp </ result >

      </ action >

 

      < action name = "delete" class = "com.coderdream.action.TestAction"

           method="delete" >

           < result name = "success" > /msg/delete.jsp </ result >

      </ action >

 

      < action name = "update" class = "com.coderdream.action.TestAction"

           method="update" >

           < result name = "success" > /msg/update.jsp </ result >

      </ action >

 

      < action name = "query" class = "com.coderdream.action.TestAction"

           method="query" >

           < result name = "success" > /msg/query.jsp </ result >

      </ action >

</ package >

jsp 调用代码:

代码清单 5 main.jsp 片段

< a href = " <%= path %> /add.action" > 增加 </ a >

< br />

< a href = " <%= path %> /delete.action" > 删除 </ a >

< br />

< a href = " <%= path %> /update.action" > 修改 </ a >

< br />

< a href = " <%= path %> /query.action" > 查询 </ a >

< br />

1.3 动态方法调用

动态方法调用(Dynamic Method InvocationDMI )是在action 的名字中使用感叹号(! )来标识要调用的方法名,其语法格式为:

actionName.methodName.action

action 不配置method 属性,4 个方法返回同一个结果。

代码清单 6 struts.xml 片段

< action name = "test" class = "com.coderdream.action.TestAction" >

      < result name = "success" > /msg/operateSuc.jsp </ result >

</ action >

jsp 调用代码:

代码清单 7 main.jsp 片段

< a href = " <%= path %> /test!add.action" > 增加 </ a >

< br />

< a href = " <%= path %> /test!delete.action" > 删除 </ a >

< br />

< a href = " <%= path %> /test!update.action" > 修改 </ a >

< br />

< a href = " <%= path %> /test!query.action" > 查询 </ a >

< br />

运行结果(结果页面相同,后台显示执行的方法不同):


 

我的联系方式: 85337464

我的博客: http://coderdream.iteye.com

 

  • 大小: 163.2 KB
0
1
分享到:
评论

相关推荐

    【张冰Struts2学习笔记】0102_第一个Struts2实例

    【张冰Struts2学习笔记】0102_第一个Struts2实例 在Java Web开发领域,Struts2框架是十分重要的MVC(模型-视图-控制器)架构之一,它极大地简化了Web应用程序的开发流程。这篇学习笔记将带你入门Struts2,通过创建...

    【张冰Struts2学习笔记】0201_Action接口与ActionSupport类

    同时,Struts2的配置文件(struts.xml或struts.properties)也需要定义Action的相关配置,如Action的名称、结果页面等。 在开发过程中,了解并熟练掌握`Action`接口和`ActionSupport`类的用法,能有效提高开发效率...

    【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法

    在"【张冰Struts2学习笔记】0202_Struts2的三种接收用户输入的方法"中,我们主要探讨的是如何在Struts2中有效地获取并处理用户提交的数据。以下是对这三种方法的详细解析: ### 1. 使用Action属性 Struts2的核心是...

    【张冰Struts2学习笔记】0103_Path与绝对路径

    标题中的“【张冰Struts2学习笔记】0103_Path与绝对路径”表明了这篇笔记主要讨论的是Struts2框架中关于Path和绝对路径的概念及其应用。Struts2是一个流行的Java Web开发框架,它提供了强大的MVC(模型-视图-控制器...

    struts2 PPT 张冰

    总的来说,张冰的PPT深入浅出地讲解了Struts2框架,涵盖了其核心组件、工作原理、配置细节以及实用的标签库,对于理解和使用Struts2开发Java web应用具有很高的指导价值。通过学习这个PPT,开发者可以更好地掌握...

    张冰struts原代码(全部1-6)之五

    3. **配置文件**:Struts的配置文件(通常为struts-config.xml)定义了Action的映射、ActionForm Bean的属性以及数据流的方向。这些配置对于理解和控制应用程序的流程至关重要。 4. **Tiles**:在Struts 1.x中,...

    张冰主讲的struts2 ppt

    Struts2是一个强大的Java ...通过张冰主讲的Struts2 PPT,开发者不仅能学习到上述基础知识,还能了解到实际项目中的最佳实践和常见问题解决方案。这份PPT对于想要深入了解和掌握Struts2框架的人来说是一份宝贵的资源。

    张冰struts原代码(全部1-6)之二

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    Struts2_张冰_视频教程课件_PPT

    2. **Struts2配置**:XML配置文件(struts.xml)是Struts2的中枢,用于定义Action、Action映射、结果类型等。此外,Struts2还支持注解配置,让代码更简洁。 3. **拦截器**:拦截器是Struts2的一个强大特性,可以...

    张冰struts原代码(全部1-6)之六

    ActionForm对象负责收集和验证用户输入,而配置文件struts-config.xml定义了请求如何映射到Action。 2. **Action与ActionForm**:Action是处理业务逻辑的类,它接收来自控制器的请求,处理后返回结果。ActionForm则...

    张冰struts原代码(全部1-6)之三

    这个“张冰struts原代码(全部1-6)”系列可能是一个教学资源,包含了六个部分,旨在帮助学习者深入理解Struts框架的工作原理和实现细节。以下是基于提供的文件名推测的各个部分可能涉及的关键知识点: 1. **test-...

    张冰struts原代码(全部1-6)之四

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    张冰struts原代码(全部1-6)之一

    张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)张冰struts原代码(全部1-6)

    张冰主讲的Struts2的PPT

    Struts2的配置方式也更加灵活,支持XML配置和注解配置,甚至可以通过Convention插件实现零配置开发。 登录功能的实现是许多web应用的基础,Struts2提供了一套完整的机制来处理用户登录请求,包括Action的定义、结果...

    struts2.ppt完整包

    3. **配置文件**:Struts2的配置文件(如struts.xml)定义了Action的配置、拦截器栈、全局结果等,是控制应用程序行为的重要部分。 4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它们在Action...

    Struts2 ppt

    3. **配置文件**:Struts2的配置主要在struts.xml文件中进行,用于定义Action的映射、结果类型、拦截器等。通过XML配置,可以灵活控制应用的行为。 4. **拦截器(Interceptors)**:拦截器是Struts2的一大特色,...

    张冰老师的SSH2整合心得

    8. **Struts2配置**:在Struts2的配置文件(如`struts.xml`)中,定义Action、结果类型和拦截器栈。这将指定用户请求如何映射到Action,以及Action执行后如何返回结果。 9. **整合测试**:完成配置后,启动服务器,...

    C面向对象程序设计张冰PPT学习教案.pptx

    ### C面向对象程序设计——基于张冰PPT学习教案的关键知识点 #### 一、面向对象程序设计概述 在《C面向对象程序设计张冰PPT学习教案》中,作者通过具体的例子介绍了面向对象编程的基本思想及其与传统的结构化程序...

    传智播客Struts2的PPT

    传智播客Struts2的PPT,是传智播客黎活明老师的东西,和视频是配套的东西还不错

    C++面向对象程序设计 张冰 课件、源代码

    张冰教授的课件和源代码很可能是为了辅助学习这些概念而设计的,通过实际编程例子和练习,帮助学生加深理解和应用这些知识。源代码可能涵盖了各种面向对象的设计模式,如工厂模式、单例模式、观察者模式等,这些都是...

Global site tag (gtag.js) - Google Analytics