Struts.xml中Action的method与路径的三种匹配方法
原文 http://blog.csdn.net/woshixuye/article/details/7734482
首先我们有一个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
Struts.xml中Action的method与路径的三种匹配方法的更多相关文章
- struts.xml在Action配置具体解释
在博客上我已经基本上解释struts.xml基本配置.配置过程最为基本的是action的动态配置. 一.Action的创建方法 1)实现Action接口 2)继承ActionSupport类,覆写当中 ...
- 在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图.
result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执 ...
- 一 SSH整合:Spring整合Struts2的两种方式,struts.xml管理Action&Bean管理Action
SSH回顾 1 引入jar包 Struts2的jar包 D:\Struts2\struts-2.3.35\apps\struts2-blank\WEB-INF\lib 开发基本包 Struts2有一 ...
- struts.xml中出现Package struts2 extends undefined package struts-default解决办法
在struts.xml中出现extends undefined package struts-default,经过查阅资料原来是因为没有联网的缘故.这样解决:在myeclipse中关联本地的dtd文件 ...
- struts.xml中出现extends undefined package struts-default解决的方法
在struts.xml中出现extends undefined package struts-default,经过查阅资料原来是由于没有联网的缘故. 这样解决:在myeclipse中关联本地的dtd文 ...
- Struts2中Action取得表单数据的几种方法
Struts2中Action取得表单数据的几种方法 Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...
- Java中实现文件上传下载的三种解决方案
第一点:Java代码实现文件上传 FormFile file=manform.getFile(); String newfileName = null; String newpathname=null ...
- Jquery中each的三种遍历方法
Jquery中each的三种遍历方法 $.post("urladdr", { "data" : "data" }, function(dat ...
- 转:Java Web 项目发布到Tomcat中三种部署方法
首先整理项目文件,文件内包含jsp.js等和class编译后的文件及lib包,如: 第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: ...
随机推荐
- 使用sublime text 开发node.js
http://blog.csdn.net/jwkfreedom/article/details/8450005 本机环境: windows7 64位 1. 下载安装sublime text, 不用注册 ...
- sql with as union all
WITH RPL (FId,Fname,Forder) AS ( SELECT ment.deptno,ment.deptname,ment.orderno FROM JTERP..fg_depart ...
- c# http get请求与post请求实例
//http请求工具类 using System;using System.Collections.Generic;using System.IO;using System.Linq;using Sy ...
- log4net写入mysql完整例子
1,创建表log CREATE TABLE `log` ( `id` int(11) NOT NULL AUTO_INCREMENT , `log_datetime` timestamp NO ...
- 安卓图标IconFont使用
一.补充知识:PNG.IconFont.SVG理论 PNG为位图,是由不同的排列和染色的像素点组成的图像,位图的扩大实质是增加单个像素点的大小,故而导致在不同分辨率表现非常糟糕. SVG为可缩放矢量图 ...
- Jenkins 集成打包和上传 App Store 的冲突
周一下午用 Jenkins 集成打包,遇到了一个很奇怪的问题,之前上传到 APP Store 的时候 Build Settings->“Code Signing Resource Rules P ...
- git使用手册
1.git常用命令 >>首先做git clone 形成本地repository: >>然后做checkout形成分支 列出所有分支 $ git branch –r 切换到新分 ...
- js 预处理用户上传图片
前几个月闲得无聊写得一段代码,没想最近刚好用上了,在硬盘里翻了半天找回来,还没好好整理直接用上了手机用户拍照上传的图片一般都在1M 到4M 之间,如果只是用作头像尺寸就可以缩小很多,1M甚至几M的图转 ...
- 浅谈Js对象的概念、创建、调用、删除、修改!
一.我们经常困惑,对象究竟是什么,其实这是一种思维,一种意识上的东西,就像我们都说 世界是有物质组成的道理一样,理解了下面的几句话!对象也不是那么抽象! 1.javascript中的所有事 ...
- POI
一.简介 POI(Point of Interest),中文可以翻译为“兴趣点”.在地理信息系统中,一个POI可以是一栋房子.一个商铺.一个邮筒.一个公交站等. 1.POI检索 百度地图SDK提供三种 ...