`
azrael6619
  • 浏览: 578240 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2学习笔记-Action的通配符使用-映射关系3

阅读更多

来看一个例子,例如有一个CrudAction, 其中有两个方法,input 和 delete,我们定义两个action:Crud_input和Crud_delete。我们可以在struts.xml中配置如下:

xml 代码:

<action name="Crud_*" class="example.Crud" method="{1}">  

 

这样,当struts2遇到Crud_input时,就会自动去找Crud的input方法,当遇到Crud_delete时,就会自动去找Crud的delete方法。

见另一个例子:

xml代码:

<action name="*Crud" class="example.Crud" method="{1}">  

 

这里,当struts2解析到editCrud时,就会自动去找Crud的edit方法。

按我的理解,method="{1}"的意思就是告诉struts2去找前面*中出现的方法并执行,{1}代表第一个通配符的值。

例如:当访问的url为:abcCrud时,method=“abc”。

 

又如:

xml 代码

<action  

    name="/edit*"  

    class="org.apache.struts.webapp.example.Edit{0}Action">  

    <result  

        name="failure"  

        path="/mainMenu.jsp"/>  

    <result  

        path="/{0}.jsp"/>  

</action>  

 

注意:配置<result.../>元素时可以使用OGNL表达式:${属性名.属性名.属性名},允许让请求参数来决定结果,这是与class属性和method属性的区别。

 

注意执行顺序:如果有URL为abcAction.action的请求,如果struts.xml文件中有名为abcAction的Action,则一定由该Action来处理用户请求;如果struts.xml文件中没有名为abcAction的Action,则搜寻name属性值匹配abcAction的Action,例如name为*Action或*,*Action并不会比*更优先匹配abcAction的请求,而是先找到哪个Action,就先由哪个Action来处理用户请求。所以一般将那么为*的Action放到配置的最后。

分享到:
评论

相关推荐

    struts2 学习笔记 实战

    这可以通过Action的通配符配置实现,例如`*{username}`,其中`username`是请求参数,Struts2会根据这个参数值来查找对应的Action。 六、Action的属性接收参数 Action可以直接通过成员变量接收请求参数,只需在...

    Struts2 学习笔记.doc

    Struts2是一个强大的MVC(Model-...以上是Struts2学习笔记的主要内容,涵盖了Struts2的基本架构、核心概念以及常用配置。通过深入理解和熟练掌握这些知识点,开发者能够有效地利用Struts2框架构建健壮的Web应用程序。

    struts2学习笔记

    **八、Action通配符配置** 通配符配置允许使用星号(*)作为Action名称的一部分,例如`*.{method}`,这样可以为一类Action设置通用的配置,提高代码复用。 **九、Action的属性接收参数** Struts2可以通过Action的成员...

    struts2.0学习笔记

    本篇学习笔记将深入探讨Struts2.0的核心概念和配置,帮助你理解和掌握这个框架。 **一、Struts2的作用** Struts2的主要目标是提供一种结构化的开发方式,它整合了请求处理、视图展示和业务逻辑的交互。通过使用...

    struts2的学习笔记+测试源代码

    3. **Action名称解析**:Struts2会尝试将Action名称映射到具体的Action类。Action名称可以通过`&lt;action&gt;`标签的`name`属性指定,也可以通过`default-action-ref`属性设置默认Action。 4. **结果类型与结果配置**:...

    Struts2 开发笔记

    要开始使用Struts2,首先需要在项目中引入Struts2的库文件,如struts2-core.jar。接着配置web.xml,声明Struts2的前端控制器Servlet。最后,创建相应的Action类和配置文件(struts.xml或struts-config.xml)。 三、...

    赵栋struts2 笔记

    2. **通配符映射**: Struts2支持使用通配符来映射Action。例如,使用星号(*)可以匹配任意字符串,这使得Action能够处理多个不同的请求。这种映射方式增强了Action的灵活性,减少了配置文件的复杂性。 3. **值栈的...

    Struts2 入门资料

    8. **Action通配符配置**: 使用通配符配置,如`*`,可以在一个Action配置中匹配多个ActionName,简化配置文件,例如`*.{method}.action`可以匹配所有以指定方法结尾的Action。 9. **Action的属性接收参数**: - ...

    传智播客struts2框架2016版视频教程笔记

    - **Struts配置文件**(`struts.xml`)用于定义Action类及其映射关系。 - **示例**:在`struts.xml`文件中配置`HelloWorldAction`的映射。 ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    Java框架学习笔记

    ### Java框架学习笔记 #### 第一章:框架技术概述 - **SSH框架组合**:SSH是Struts + Spring + Hibernate的简称,这三个框架在Java Web应用开发中非常常见,它们各自解决了不同的问题,并且能够很好地协同工作。 ...

    struts2教程

    - 使用通配符如`&lt;action name="*_*" method="{2}" class="{1}"&gt;`,根据请求的URL自动映射到Action方法。 10. **默认Action配置**: - 通过`&lt;default-action-ref name="simpleViewResultAction"&gt;`可以定义一个默认...

Global site tag (gtag.js) - Google Analytics