`
wsql
  • 浏览: 11884420 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Struts.xml中Action的method与路径的三种匹配方法

 
阅读更多


首先我们有一个Action——UserAction

public class UserAction extends ActionSupport
{
public String add()
{
return "add";
}

public String modify()
{
return "modify";
}
}


1 指定method

<package name="user" namespace="/userPath" extends="struts-default">
<action name="userAdd" class="com.xy.UserAction" method="add">
<result name="add">add.jsp</result>
</action>
<action name="userModify" class="com.xy.UserAction" method="modify">
<result name="modify">modify.jsp</result>
</action>
</package>

路径:
userPath/userAdd
userPath/userModify

特点:
不灵活,CRUD四个操作就要配4个action。

2 动态方法调用DMI(Dynamic Method Invocation)

<package name="user" namespace="/userPath" extends="struts-default">
<action name="user" class="com.xy.UserAction">
<result name="add">add.jsp</result>
<result name="modify">modify.jsp</result>
</action>
</package>

路径:
userPath/user!add
userPath/user!modify

特点:
灵活。只要指定不同的方法就可以做不同的操作。

3 通配符

<package name="all" namespace="/" extends="struts-default">
<action name="*_*" class="com.xy.{1}Action" method="{2}">
<result name="add">{1}_add.jsp</result>
<result name="modify">{1}_modify.jsp</result>
</action>
</package>

路径:
User_add
User_modify

特点:
更加灵活。整个项目甚至只要配一个总的action。是指定方法的一个特殊的用法。不过我觉得用DMI可以将每个模块分的清楚。

4 总结

在配置的时候要记住一句话:约定优于配置

在一个项目中,配置前,我们需要对action名,网页名等等有严格的约定,才能做好配置。

分享到:
评论

相关推荐

    struts.xml常用配置解析

    通过在`&lt;action&gt;`标签中使用`method`属性,我们可以指定要执行的动作类的具体方法。例如: ```xml &lt;struts&gt; &lt;package name="demo" extends="struts-default"&gt; &lt;action name="test" class="action.MyAction"&gt; &lt;!-...

    Struts2中struts_xml的Action配置详解

    总之,`struts_xml`中的Action配置是Struts2应用的基石,通过它可以灵活地定义请求与业务逻辑的映射关系,以及后续的页面跳转和拦截器链,从而构建出高效、可维护的Web应用。深入了解和熟练掌握这部分知识对于提升...

    struts.xml详细说明.doc

    这里,`Login_*`将匹配所有以`Login_`开头的请求,`{1}`是OGNL表达式,用于获取Action名称中的第二个部分,作为Action方法名。 9. **DevMode**: `&lt;constant name="struts.devMode" value="false" /&gt;`设置Struts2...

    struts2的struts.properties配置文件详解

    10. struts.enable.DynamicMethodInvocation:这是一个布尔值,用于确定是否允许动态方法调用。如果设置为true,Struts2将允许动态方法调用。 11. struts.freemarker.manager.classname:这是一个FreemarkerManager...

    struts.xml详解.doc

    拦截器是Struts2中的一种机制,它们在Action执行前后执行特定的任务,如日志记录、性能统计等。`&lt;interceptor&gt;`定义单个拦截器,通过`name`指定名称,`class`指定实现类。 6. **interceptor-stack标签**: `...

    Struts课堂笔记.rar--struts2的struts.properties配置文件详解

    struts.action.extension The URL extension to use to determine if the request is meant for a Struts action 用URL扩展名来确定是否这个请求是被用作Struts action,其实也就是设置 action的后缀,例如login....

    struts.xml详解[整理].pdf

    - `&lt;result&gt;` 在Action中定义特定的返回结果,`name`与Action中的返回值匹配,`type`指定了结果类型,如果不指定则使用父包的默认类型,`action`是对应的结果页面或资源。 Struts 2的配置文件通过这种方式灵活地...

    Struts2最新漏洞升级2.3.32版本

    &lt;constant name="struts.enable.DynamicMethodInvocation" value="true"/&gt; &lt;constant name="struts.convention.action.mapallmatches" value="true"/&gt; 这两行请不要加在外边。&lt;struts&gt;“加在这里”&lt;/struts&gt;

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

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

    第一个struts程序

    这个问题搞了一个晚上。(希望对初学的朋友有帮助) 发现不能运行的原因 1、login.jsp的form表格里的...4、struts.xml中的&lt;result name="Sucess"&gt;/loginsucess.jsp&lt;/result&gt; name要与LoginAction.java的返回结果相对应.

    struts2一个action处理多个请求 struts2实例

    在Struts2的配置文件(通常为struts.xml或struts.properties)中,我们定义Action的映射规则,包括请求路径、方法调用以及结果视图等。默认情况下,一个Action类对应一个请求URL,但通过特定配置,可以让一个Action...

    Strutc 2中Action中的执行方法

    本文主要讨论了Struts 2 Action中的几种执行方法,包括默认的execute方法、通过struts.xml配置method属性、动态方法调用(DMI)、使用通配符映射以及利用提交按钮指定提交方法。这些方法使得开发者可以根据不同的...

    Struts2的struts.xml配置详细介绍

    解析: constant元素: 配置常量,可以改变Struts 2框架的一些行为 name属性表示常量名称,value属性表示常量值 package元素: ...method:方法名,默认使用的execute()方法 result元素: name属性:默认为succ

    struts2的资源配置

    - `method`属性定义了Action类中要执行的方法。 - `result`子元素配置了Action执行后的返回页面或视图。 4. **拦截器配置** - `interceptors`元素定义了自定义拦截器或拦截器栈。 - `default-interceptor-ref`...

    Struts2属性文件详解

    该属性指定需要Struts 2处理的请求后缀,该属性的默认值是action,即所有匹配*.action的请求都由Struts 2处理.如果用户需要指定多个请求后缀,则多个后缀之间以英文逗号(,)隔开. struts.serve.static 该属性设置是否...

    使用struts1.x上传多个文件的一中方法

    在Java Web开发中,Struts1.x框架是一个广泛使用的MVC(Model-View-Controller)框架,它提供了处理用户请求、业务逻辑和视图展示的能力。在Struts1.x中,实现文件上传功能是一个常见的需求,特别是在处理用户提交的...

    Struts 2的用法

    2. **指定方法名调用**:如果需要调用特定方法,可以在`struts.xml`中配置,并在JSP中使用`action`标签的`method`属性指定。 3. **重复Action配置**:对于同一个Action类的不同方法,需要在`struts.xml`中配置多个`...

    Struts2 Action参数详细说明

    动态方法调用(Dynamic Method Invocation, DMI)是Struts2提供的一种简化配置的方式。通过DMI,我们可以在URL中直接指定要调用的方法,而无需为每个方法创建单独的Action配置。配置示例如下: ```xml &lt;action name...

    Struts2_0500_ActionMethod

    Struts2支持动态方法调用,这意味着无需在配置文件中显式指定Action方法,而是直接使用请求URL中的方法名作为Action方法。但这需要确保Action类的公共方法符合一定的命名规范,并且返回值类型为String。 综上所述,...

    Struts2教学视频

    通配符配置允许为一组相似的Action定义一个通用配置,比如`*.{method}`可以匹配所有以method结尾的Action。 **九、Action的属性接收参数** 1. 在Action类中添加成员属性,Struts2会自动将请求参数绑定到这些属性上...

Global site tag (gtag.js) - Google Analytics