`

Struts2.0中的Action

阅读更多
   action映射是struts2框架的基本工作单元,通常,action配置将一个标识符映射到一个业务逻辑的class,当一个请求同action的名字匹配时,框架通过这种映射决定怎么处理请求。一个通常的action如下
<action name="Logon" class="tutorial.Logon">
     <result >welcome.jsp</result> 
     <result name="input">/Logon.jsp</result>
</action>   
    注意,如果一个action的name中需要有/例如 <action name="admin/home" class="tutorial.Admin"/> ,需要在配置文件中struts.xml添加如下<constant name="struts.enable.SlashesInActionNames" value="true"/> 同时,action的name中最好别使用.和/   
    通常由一个表单连接到一个action用来处理表单提交的数据。
        <s:form action="Login">  
          <s:textfield label="UserName" name="name"/>  
          <s:submit/>
       </s:form>  
    默认的,action执行时会执行actioin的execute()方法。但是,我们可以手动的指定action的执行方法。
<action name="delete" class="example.CrudAction" method="delete">将会在指派到action时执行action的delete()方法。如果action中没有execute()方法并且也没指定别的方法,则框架会抛出一个异常。

      通配符:很多时候,我们需要不同的action name指向同一个class并执行与该action name相关的方法,
<action name="*Crud" class="example.Crud" method="{1}"> 其中*就是通配符,该action可以匹配任何形如*Crud.action的请求,同时执行该action的*方法。例如一个请求如deleteCrud.action,则会执行该actiond的delete()方法。*可以在name的任意位置如Crud_*。当我们需要为这种通配符方式的action使用校验框架或转换框架时时,可以这样 Crud_input-validation.xml Crud_delete-conversion.xml    动态方法调用:我们可以在填写表单的action时使用例如Login!login.action动态的指派调用Login的login方法。不过,还是推荐使用通配符的方式进行动态匹配。因为使用通配符方式可以为不同的请求单独的建立检验文件等
    如果一个action的class属性未指定,则默认将com.opensymphony.xwork2.ActionSupport 作为class属性
    <action name="Hello">   
         //....
   </action>     
   ActionSupport类有一个execute()方法返回SUCCESS和一个input()方法返回INPUT,我们可以通过在packaeg里写上<default-class-ref name=”default.class”>指定我们自定义的默认类

    默认action:有时候请求的action没有找到,服务器就会返回404错误,我们可以指定一个默认action,当所有其他的action都没匹配上时就会执行那个默认的action。方法如下
    <package name="Hello" extends="action-default"> 
         <default-action-ref name="UnderConstruction">  
         <action name="UnderConstruction">                 
             <result>/UnderConstruction.jsp</result>
         </action>  
          ...
   </package>   
   我们可以在不同的package中定义不同的默认action,但是一个命名空间只能指定一个默认action

    一个好习惯就是永远不要从一个页面直接链接到另一个页面,而是通过action链接到别的页面。我们可以通过通配符的方式实现
    <action name="*"> 
        <result>/{1}.jsp</result>
    </action>  
    关于通配符的使用*代表一或多个字符除了/
**代表一或多个字符包括/
    若想在在action name中使用特殊字符例如*而不是用*来表示匹配可以用 \ 来转义。例如\*name就代表名字为*name的action
分享到:
评论

相关推荐

    struts2.0中文教程

    03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器...

    Struts 2.0系列(MAX)

    Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts 2.0中实现表单数据校验(Validation) Struts 2的基石——拦截器(Interceptor) 在...

    Struts 2.0的Action讲解

    Struts 2.0的Action讲解 com.opensymphony.xwork2.ActionSupport类

    Struts2.0中文教程权威版

    03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器...

    struts2.0之action

    有Struts 1.x经验的朋友都知道Action是Struts的核心内容,当然Struts 2.0也不例外。不过,Struts 1.x与Struts 2.0的Action模型很大的区别 本文档对struts2.0 action进行了详细介绍

    Struts 2.0

    清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。

    Struts 2.0 in Action

    Struts 2.0 in Action, 之前csdn上也有Struts 2.0 in action,不过好像不能用,从其他地方下了一个,在我电脑上能看。

    struts2.0 in action 全书

    struts2.0 in action 400多页全的

    struts2.0很全面的中文教程

    1.为Struts 2.0做好准备 2.常用的Struts 2.0的标志(Tag)介绍 3.Struts 2.0的Action讲解 ...5.转换器(Converter)——Struts 2.0中的魔术师 在6.Struts 2.0中实现表单数据校验(Validation) 7....... 8.......

    struts2.0+hibernate+spring文件配置

    本资源是实现strust2.0+hibernate+spring中所有的文件的配置,包括struts2.0中action的配置,hibernate中hibernate.cfg.xml的配置,spring中beans的配置……

    struts2.0拦截器、crud例子与用法

    struts2.0描述了拦截器并有对应的例子,用struts实现crud 用法及例子,并介绍了struts2的action的流程 及请求过程

    信息系统软件设计:第3章 Struts2.0-Action知识.ppt

    信息系统软件设计:第3章 Struts2.0-Action知识.ppt

    struts2.0中文帮助手册

    struts2.0中文帮助手册 包括:标签介绍/Action/其它

    struts2.0扫盲文档

    struts2.0扫盲文档2加入struts.xml配置文件(自己建) &lt;!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"&gt; ...

    struts2.0资料大集合包括中文帮助文档上传下载以及一些开发指南

    struts2.0资料大集合包括帮助文档上传下载以及一些开发指南其中包括struts上传下载,struts2.0中文帮助手册,Struts2-eng,Struts2教程,Struts2入门V3.0,Struts in Action和深入浅出starting-struts2。对新手及...

    个人认为目前最完备的Struts2教程

    03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单数据校验(Validation) 07 Struts 2的基石——拦截器...

    struts2.0.jar

    Struts 2.0框架中出现的许多特性旨在让Struts更容易使用: · 改进的设计: 与Struts 1相比,Struts 2的所有类都基于接口,核心接口独立于HTTP。这些API并不依赖服务器小程序API。 · 简化的Action: Struts 2 Action...

    达内Struts2.0学习之当当网系统学习案例

    Struts 2.0技术综合应用,包括上传图片功能,明文加密算法SHA-1和MD5,上传用户头像,根据action随机生成验证码,用链接实现数据的分页处理,以及拦截器和Logger日志框架的引入,总之相当强大,学习Struts 2.0,把这...

Global site tag (gtag.js) - Google Analytics