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可以将每个模块分的清楚。

推荐的方法是动态调用,也就是DMI.

 注意的问题:

1.比如在地址栏中输入URL:http://localhost:8080/struts2/front/helloword!add

但是:如果这样输入的话,会报错(There is no Action mapped for namespace [/front] and action name [helloword!add()] associated with context path [/Struts2_10003].)
因为:struts2中默认不允许使用DMI

所以:需要在配置文件中打开: <constant name="struts.enable.DynamicMethodInvocation" value="true"/>这样大家在地址栏动态输入就可以得到预期的页面

2.如果想要利用DMI的方式传递参数的话:userPath/user!add?flag=true










本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/4603207.html,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
11 0
|
7月前
|
XML JSON 自然语言处理
SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
SAP UI5 XML 视图中数据绑定路径语法的难点和易混淆点的专题讲解
25 0
|
8月前
|
XML 数据安全/隐私保护 数据格式
一种自主学习 Office Open XML 文件格式的方法介绍
一种自主学习 Office Open XML 文件格式的方法介绍
53 0
|
1天前
|
XML JavaScript 前端开发
XML DOM - 属性和方法
XML DOM 提供编程接口,用属性和方法访问及操作XML节点。通过JavaScript等语言,可利用DOM属性(如nodeName, nodeValue, parentNode, childNodes, attributes)了解和修改节点信息。方法如getElementsByTagName用于查找特定标签元素,appendChild和removeChild则用于添加或移除子节点。
|
5月前
|
XML 定位技术 数据格式
ENVI感兴趣区(ROI)文件由XML格式转换为ROI格式的方法
ENVI感兴趣区(ROI)文件由XML格式转换为ROI格式的方法
|
5月前
|
XML 存储 JSON
实现XML与JSON转换,实测这个方法最便捷
XML和JSON是当今最常用的两种数据格式,在数据交换和存储领域占有重要地位。XML以其树状结构和可扩展性被广泛使用,而JSON则以其轻量级和易读性受到开发者的青睐。有时候,为了更好地利用它们的优点解决数据共享、数据处理和数据存储等问题,我们需要将这两种格式进行转换。本文将介绍如何使用Java实现将XML格式转换成JSON格式。
|
7月前
|
XML 定位技术 PHP
织梦DedeCMS生成xml网站地图并自动更新的方法
织梦dedecms默认没有生成站点地图sitemap.xml文件的功能,不过我们可以自己通过简单的二次开发来给织梦增加这个功能
|
9月前
|
XML Java 数据格式
解决SpringBoot获取mapper.xml路径的问题
当mapper.xml与mapper.class放在同一文件夹下时,是不能够将xml文件打包进项目的,项目构建的时候不会加载到target文件夹中。在pom.xml中加入如下这句:
189 0
|
9月前
|
XML 存储 JavaScript
【JAVA基础】-JAVA开发中XML解析多种方法
【JAVA基础】-JAVA开发中XML解析多种方法
113 0
|
9月前
|
XML SQL Java
解决2022.3.1版本中 IDEA中 XML文件屎黄色背景 的方法
解决2022.3.1版本中 IDEA中 XML文件屎黄色背景 的方法
350 0