struts中一个正常的最普通不过的action是这样子的

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="registAction" class="com.b.Regist" method="test">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
</package>

使用通配符1

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="*Action" class="com.b.Regist" method="test">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
</package>

action中的*会和你的请求路径想匹配.符合要求的就进行下一步执行.*表示长度不为0的字符.

比如:insertAction,updateAction都是符合要求的.

使用通配符2

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="*Action" class="com.b.Regist" method="{1}">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
</package>

这里method="{1}"表示通配符的占位符.

占位符都是从1开始的,不是从零考试的.

使用通配符3

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="*_*Action" class="com.b.{2}" method="{1}">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
</package>

这里的{2}表示的就是第二个*了

使用通配符4

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="*_*_*Action" class="com.b.{2}" method="{1}">
<result name="{3}">/1/{3}.jsp</result>
<result name="{3}">/1/{3}.jsp</result>
</action>
</package>

通配符还可以进行内部的占位符的匹配

使用通配符5

 <package name="default1" namespace="/gys" extends="struts-default">
<action name="registAction" class="com.b.Regist" method="test">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
<action name="*Action" class="com.b.RegistT" method="{1}">
<result name="regist1">/1/regist1.jsp</result>
<result name="regist2">/1/regist2.jsp</result>
</action>
</package>

当精确匹配和模糊匹配都符合请求时,使用精确匹配

当模糊匹配都符合时,按照顺序,谁第一,就执行那个action.

默认Action:

在某些情况下,用户请求非常简单,不需要系统过多的处理,或者这些请求只是一个简单的转发.

对于只是简单的超链接请求,可以通过name为*的Action实现(最好放在最后).除此之外,struts2还允许在容器中定义一个默认的Action.

 <default-action-ref name="errorReq"></default-action-ref>
<action name="errorReq">
<result>/error.jsp</result>
</action>

这段代码必须放在package里的第一位,如果放在其他action之后,会报错.

struts2中action中的通配符的更多相关文章

  1. 在struts2的action中操作域对象(request、session)

    在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getConte ...

  2. JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  3. 【struts2】action中使用通配符

    在以前的学习中,<action>元素的配置,都是用明确的配置,其name.class等属性都是一个明确的值.其实Struts2还支持class属性和method属性使用来自name属性的通 ...

  4. 9.Struts2在Action中获取request-session-application对象

    为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...

  5. struts2的action中获得request response session 对象

    在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态 ...

  6. struts2对action中的方法进行输入校验---xml配置方式(3)

    上面两篇文章已经介绍了通过编码java代码的方式实现action方法校验,这里我们介绍第二种方式:xml配置文件 首先我们来看一个样例: ValidateAction.java: package co ...

  7. struts2对action中的方法进行输入校验(2)

    struts2输入校验流程: 1.类型转换器对请求參数运行类型转换,并把转换后的值赋给aciton中的属性 2.假设在运行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext, ...

  8. jap页面获取struts2中action中变量的值

    在jsp页面中可以通过ONGL表达式获取struts2中action处理后的变量的值,这是因为每一个action在初始化后都会放到strackcontext中,可以通过ONGL表达式取到值. 注意要在 ...

  9. 关于在Struts2的Action中使用domain模型接收参数的问题

    最近在搭建一个最新的ssh2框架,今天在调试的时候,发现了一个以前一直没有注意过的问题,我在Action中使用域模型的方式去接收jsp画面中的参数的时候,发现参数总是接收不完,头一次遇到这种问题,现在 ...

随机推荐

  1. unity,standalone下自定义分辨率不起作用的解法

    写一个Editor脚本AddMenu.cs:using UnityEditor; using UnityEngine; public class AddMenu : EditorWindow { [M ...

  2. 【转】弹出可拖动的DIV层提示窗口

    来源:www.divcss5.com <html> <head> <meta http-equiv="Content-Type" content=&q ...

  3. 无法启动:此实现不是Windows平台FIPS验证的加密算法的一部分

    个别同学可能会在启动订票助手.NET的时候发现这个提示: 出现这个问题的原因是订票助手.NET使用了MD5算法,而系统的组策略安全设置导致无法使用此算法.要修正此问题,请按照如下操作(两种方法任选其一 ...

  4. centos6.6安装redis服务安装redis服务,对于discuz来说可以作为缓存使用,减轻服务器压力

    获取redis源码包 #wget http://download.redis.io/releases/redis-stable.tar.gz 解压缩 #tar xf  redis-stable.tar ...

  5. Angular学习(2)- ng-app

    此例子看alert弹出时的效果.当然,最重要的是ng-app="MyApp",这一个是怎么加载的. <!DOCTYPE html> <html ng-app=&q ...

  6. 【jmeter】HTTP属性管理器HTTP Cookie Manager、HTTP Request Defaults

    Test Plan的配置元件中有一些和HTTP属性相关的元件:HTTP Cache Manager.HTTP Authorization Manager.HTTP Cookie Manager.HTT ...

  7. 【Log4j】 log4j.properties 使用

    一.参数意义说明 输出级别的种类 ERROR.WARN.INFO.DEBUG ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如 ...

  8. php常见判断

    当要 判断一个变量是否已经声明的时候 可以使用 isset 函数 当要 判断一个变量是否已经赋予数据且不为空 可以用 empty 函数 当要 判断 一个变量 存在且不为空 先isset 函数 再用 e ...

  9. asp.net中Respons.Write()的用法

    很多时候,我们为了是页面的传输速率更高.很自然回去选择脚本和ajax结合进行传值,在传值如要向页面回传数据时,可能只有一次也会是多次.一次的情况下我们可以很好的用Respons.End()方法来截取我 ...

  10. 免安装Oracle客户端使用PLSQL Developer 7/8 连接Oracle10/11g

    众所周知,Oralce的客户端几百兆太大,网上也有许多DIR的处理.这里的处理使用官方提供ORALCE工具包Instant Client Package! 下载地址:http://www.oracle ...