`

Struts1之Action小结

    博客分类:
  • ssh
 
阅读更多

1.ForwardAction:用于请求转发。

  例如:锚点标记,为了保持MVC的结构,在使用锚点标记是不直接跳转页面,而是通过跳转到XX.do 由ForwardAction实现页面跳转。
  配置:
<action-mappings>
<action path="/toLogin" type="org.apache.struts.actions.ForwardAction" forward="/login.jsp"> 
  </action>
</action-mappings>
  forward属性值为要跳转的页面。

2.incluedeAction :用于包含页面。
  Jsp :<jsp:include page="includeWelcome.do"></jsp:include>
  配置:
<action-mappings>
<action path="/includeWelcome" type="org.apache.struts.actions.IncludeAction" parameter="/welcome.jsp">
 </action>
</action-mappings>

3.DispatchAction :用于一个类中实现一组相关业务(同一页面的一个表单多个提交按钮)。
  用法:编写一个类继承DispatchAction ,但切记不能重写DispatchAction 的execute()方法。业         务方法的返回值类型,传递的参数类型以及个数与execute()方法一致。
  缺陷:要用到js代码,如果js被禁用,则不能实现相关业务。
  jsp页面:
<form action="train.do" method="post">
 <input type="hidden" name="training">
  <input type="submit" value="喂食" name="eatbtn" onclick="training.value="eat'"/>
  <input type="submit" value="讲故事" name="talkbtn" onclick="training.value="talk'"/>
  <input type="submit" value="游戏" name="playbtn" onclick="training.value="play'"/>
</form>
  点击按钮之后,隐藏表单提交项的value值必须与DispatchAction中的业务方法的方法名保持一致。
  配置:
<action path="/train" type="com.lovo.struts.action.PetDispatchAction" parameter="training">
  <forward name="petInfo" path="/petInfo.jsp"></forward>
  </action>

4.MappingDispatchAction :用于多个表单一个Action处理(分开的页面,处理一个业务)。
   用法:编写一个类继承MappingDispatchAction  ,但切记不能重写 MappingDispatchAction execute()方法。业务方法的返回值类型,传递的参数类型以及个数与execute()方法一致。
  Jsp:
<form method="post" action="add.do" name="addForm">
<input type="submit" value="add" name="addBtn">
 </form>

<form method="post" action="del.do" name="delForm"> 
      <input type="submit" value="del" name="delBtn"> 
        </form>
 配置:
<action path="/add" type="com.lovo.struts.action.MyMappingDispatchAction" parameter="addStu">
 </action>

<action path="/del" type="com.lovo.struts.action.MyMappingDispatchAction" parameter="delStu"> 
 </action>
parameter属性的属性值与必须与 MappingDispatchAction中的业务方法的方法名保持一致。

5.LookupDispatchAction : 用于一个类中实现一组相关业务(同一页面的一个表单多个提交按钮)。
   用法:编写一个类继承MappingDispatchAction  ,但切记不能重写LookupDispatchAction execute()方法。业务方法的返回值类型,传递的参数类型以及个数与execute()方法一致。重写getKeyMethodMap()方法.必须配置一个form-bean.
   
   jsp页面:
<html:form action="train.do" method="post">
<input type="hidden" value= <%= id %> name="petId">
  <html:submit property="playBtn">
  <bean:message key="button.eat"/>
  </html:submit>
  <html:submit property="playBtn">
  <bean:message key="button.talk"/>
  </html:submit>
  <html:submit property="playBtn">
  <bean:message key="button.play"/>
  </html:submit>
 </html:form>
 在使用LookupDispatchAction时,jsp页面要用到struts的html标签库和bean标签库.以及    propperties配置文件.html标签的property的值必须一致.html标签的key的值对应propperties中的值.

 配置:
<form-bean name="lookup" type="org.apache.struts.action.DynaActionForm"></form-bean>

<action path="/train" type="com.lovo.struts.action.PetLookupDispatchAction"     name="lookup" parameter="playBtn"> 
 <forward name="petInfo" path="/petInfo.jsp"></forward> 
 </action>

 parameter属性的值必须与html标签的property的值一致.

6.SwitchAction:用于多个配置文件之间的页面跳转.
   XML中的配置:
<init-param> 
  <param-name>config/t87</param-name> 
  <param-value>/WEB-INF/struts-moduleA.xml</param-value> 
</init-param>

   struts-config.xml中的配置:
<action path="/toT87" type="org.apache.struts.actions.SwitchAction">
分享到:
评论

相关推荐

    Struts2 in action中文版

    第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 为什么使用框架 8 1.3 Struts 2框架...

    Struts 2实战 Struts 2 in action 的中文版

    ### 小结 《Struts 2实战 Struts 2 in action 的中文版》这本书系统地介绍了Struts 2框架的基础知识、核心组件、工作原理以及实际开发技巧。对于希望深入学习和掌握Struts 2框架的开发者来说,这本书是一本不可多得...

    struts开发小结

    这篇博客"Struts开发小结"可能涵盖了作者在使用Struts框架进行开发过程中的经验总结和一些关键点。由于没有直接的描述内容,我们将基于Struts框架的一般特性来讨论相关知识点。 1. **Struts 2框架基础**: Struts ...

    Struts框架中struts-config.xml文件配置小结

    &lt;exception className="org.apache.struts.config.ExceptionConfig" handler="org.apache.struts.action.ExceptionHandler" key="login.error" path="/error.jsp"&gt; ``` #### 四、其他元素简介 除了上述介绍...

    struts资料\前半阶段小结

    在"struts资料\前半阶段小结"这个主题中,我们可以理解为是对学习或使用Struts框架初期阶段的一个总结。以下是对Struts框架核心知识点的详细解释: 1. **MVC模式**:MVC是一种设计模式,用于分离应用程序的数据、...

    关于struts的部分小结

    在Struts中,抽象包不允许直接定义Action,Action通常在具体的包或子包中定义,以实现模块化的管理。 3. **Result类型的配置**: `name`属性是结果的名称,与Action的返回值相对应;`type`定义了结果的类型,例如...

    Struts书籍 Struts_In_Action_中文版

    **1.2 小结** 这部分总结了前文所述的主要内容,为读者后续学习奠定了基础。 #### 二、深入Struts架构 **2.1 随便谈谈** 这部分可能是一些非技术性的引言,比如介绍Struts的历史背景和发展过程。 **2.2 为什么...

    Struts2知识点小结-非常实用

    控制器部分由Action类及其一系列隐藏的拦截器来实现,主要负责处理用户请求并决定应用程序的行为。视图部分则通过丰富的标签库呈现用户界面,这些标签使用OGNL(Object Graph Navigation Language)表达式作为基础,...

    Struts2输入校验总结

    1. **类型转换**:首先,Struts2框架使用类型转换器将HTTP请求中的字符串参数转换为相应的Java类型,如Integer、Date等,并将这些值设置为Action类的属性。 2. **异常处理与错误封装**:如果类型转换过程中遇到问题...

    Struts in Action 中文版

    **1.4 小结** - 本章概述了 Struts 框架的历史背景和发展历程,为后续章节中更深入的技术讨论奠定了基础。 #### 2. 深入 STRUTS 架构 **2.1 随便谈谈** - 本书接下来的部分将深入探讨 Struts 框架的核心架构及其...

    Struts2+Hibernate+Spring项目小结――Struts2部分总结

    Struts2的核心特性之一就是其强大的拦截器机制,它们负责在Action执行前后进行一系列的处理,包括登录检查、日志记录、事务管理等。在Struts2中,我们可以通过自定义拦截器来扩展框架功能。例如,可以创建一个专门...

    struts2+ireport学习小结(一)

    在本学习小结中,我们将探讨如何将Struts2与IReport整合,以实现在Web应用中动态生成和展示报表的功能。 首先,让我们了解Struts2的基础知识。Struts2的核心是Action类,它是处理用户请求并返回结果的核心组件。...

    关于struts实验时的临时总结

    ##### 总结1:Struts2 onsubmit 无法返回JavaScript进行验证 **问题描述**:在Struts2框架中,尝试使用`onsubmit`事件调用JavaScript进行表单验证时发现无效。 **原因分析**:`onsubmit`事件默认情况下并不会阻止...

    Struts in Action 中文修正版.pdf

    本书《Struts in Action 中文修正版》由 Ted Husted 编写,Eric Liu(铁手)翻译,是学习 Struts 的优秀资源之一。 **1.1 关于本书** - **谁创建了Struts?** - Struts 最初是由 Craig R. McClanahan 创建的。 - *...

    struts2基本知识

    #### 五、小结 本文详细介绍了Struts2处理多个请求和域传参的相关知识点。从过滤器和拦截器的作用到动态方法调用的实现,再到具体的登录和注册请求处理示例,旨在帮助读者全面了解Struts2的基本概念和使用方法。...

Global site tag (gtag.js) - Google Analytics