struts2中action中的通配符
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中的通配符的更多相关文章
- 在struts2的action中操作域对象(request、session)
在struts2的Action中,操作域对象一共有三种方式: 1.ActionContext(与servelt API无关联): //相当于request ActionContext.getConte ...
- JavaWeb_(Struts2框架)Action中struts-default下result的各种转发类型
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...
- 【struts2】action中使用通配符
在以前的学习中,<action>元素的配置,都是用明确的配置,其name.class等属性都是一个明确的值.其实Struts2还支持class属性和method属性使用来自name属性的通 ...
- 9.Struts2在Action中获取request-session-application对象
为避免与Servlet API耦合在一起,方便Action类做单元测试. Struts2对HttpServletRequest.HttpSession.ServletContext进行了封装,构造了三 ...
- struts2的action中获得request response session 对象
在struts2中有两种方式可以得到这些对象 1.非IoC方式 要获得上述对象,关键Struts 2中com.opensymphony.xwork2.ActionContext类.我们可以通过它的静态 ...
- struts2对action中的方法进行输入校验---xml配置方式(3)
上面两篇文章已经介绍了通过编码java代码的方式实现action方法校验,这里我们介绍第二种方式:xml配置文件 首先我们来看一个样例: ValidateAction.java: package co ...
- struts2对action中的方法进行输入校验(2)
struts2输入校验流程: 1.类型转换器对请求參数运行类型转换,并把转换后的值赋给aciton中的属性 2.假设在运行类型转换的过程中出现异常,系统会将异常信息保存到ActionContext, ...
- jap页面获取struts2中action中变量的值
在jsp页面中可以通过ONGL表达式获取struts2中action处理后的变量的值,这是因为每一个action在初始化后都会放到strackcontext中,可以通过ONGL表达式取到值. 注意要在 ...
- 关于在Struts2的Action中使用domain模型接收参数的问题
最近在搭建一个最新的ssh2框架,今天在调试的时候,发现了一个以前一直没有注意过的问题,我在Action中使用域模型的方式去接收jsp画面中的参数的时候,发现参数总是接收不完,头一次遇到这种问题,现在 ...
随机推荐
- html之hr,form标签
<hr>标签:在html页面中创建一条水平线,可在视觉上将文档分隔成多个部分 <form>:块级标签,前后会产生折行 标签用于为用户输入创建html表单,将数据提交给服务器.表 ...
- Android拍照、录像、录音代码范例
<p>import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import andro ...
- eclipse luna maven搭建spring mvc
1. 环境配置 a) Java 1.7 b) Eclipse luna c) Maven3.2.5 d) Spring 4.1.4 2. ...
- Web版报表的架构和设计思路
通常,我们设计一个报表,会面临设计报表,构造数据,展示报表的一个过程 设计报表也许大家都会用过,比如水晶报表,jreport一堆一堆的. 不过我觉得最好用的应该还是office做成的报表,谁都会,而且 ...
- Linux 环境下开机自启动Oracle服务
使用如下命令查看Oracle相关服务是否已启动: ps aux | grep ora_ #若无ora_**_**相关的进程,则oracle数据库实例未启动 netstat -tlnup | grep ...
- [mybatis] mybatis错误:Invalid bound statement (not found)
点击菜单抛出异常: org.springframework.web.util.NestedServletException: Request processing failed; nested exc ...
- nova分析(2)—— nova-all
nova-all是一个用来启动所有nova服务的辅助脚本,注意只是启动所有服务,不包括停止和重启等功能. nova-all的入口在 nova.cmd.all:main ,脚本也比较简单,这儿就贴下代码 ...
- POJ #1141 - Brackets Sequence - TODO: POJ website issue
A bottom-up DP. To be honest, it is not easy to relate DP to this problem. Maybe, all "most&quo ...
- Redis容灾部署(哨兵Sentinel)
Redis容灾部署(哨兵Sentinel) 哨兵的作用 1. 监控:监控主从是否正常2. 通知:出现问题时,可以通知相关人员3. 故障迁移:自动主从切换4. 统一的配置管理:连接者询问sentinel ...
- 【freemaker】之自定义变量,特殊变量 globals ,循环对象取值
entity public class Employee { private Integer id; private String name; private Integer age; private ...