常有这样的梦:不知何来一本似乎是无字天书,而其中的字句却是慢慢地、渐 显可辨。同时现实中的自己完全能察觉这是一个梦,极怕即刻醒来,想多记取那 些天外之语。但总不能如愿,醒来时还留有某些字句痕迹,再过后就全然忘却。 仿佛进入的是一个太虚幻境。
1. 动态 Action:<action ../> 元素的一个前所未有的特性是,name 属性可以用通配符,class 和 method 属性中可以用 name 中的匹配参数,{0}/ {1} 的形式。举两个例子说明:
① <action name="*Action" class="com.unmi.LoginRegistAction" method="{1}">
URL 是 registAction.action 时,会执行 LoginRegistAction 类实例的 regist() 方法
② <action name="*_*" class="actions.{1}Action" method="{2}">
URL 是 Book_save.action 时,会执行 actions.BookAction 类实例的 save () 方法
说明:{1},{2}是用来匹配 name 属性中的 *,这和正则表达式一样的,{0} 表示的完整的 name 属性值。这也是托 Struts2 的每请求产生新的 Action 的实 例才能这么用的,试想一下,Struts1 是没法针对通配符来预先加载好所有的 Action 实例的。
可由此定义一个能用的 Action,<result> 里也能用参数。
<action name="*"> <result>/ {1}.jsp</result> </action>
2. 关于在 <action .../> 中使用通配符时的校验文件命名规则。校验 文件的搜索规则是:
① <ActionClassName>-<ActionAliasName>-validation.xml <ActionAliasName> 为 name 属性值
② <ActionClassName>-validation.xml
同时有这两个文件时,后面的规则能与前面的规则叠加或覆盖,例如 ① 中有 name域的校验,② 中有password域的校验,这两个文件同时存在 <ActionClassName>所在路径时,会同时校验name和password域。
例如对于 <action name="*Action" class="com.unmi.LoginRegistAction" method="{1}">
URL 是 registAction.action 时,会搜索校验文件 LoginRegistAction- registAction-validation.xml 和 LoginRegistAction-validation.xml。
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, struts2 action jsp
, 属性
, struts2校验器
, name
, 通配符
, 规则
, 同时
, 校验ork校验struts2
, sturst2,通配符,action
, struts通配符
记取
,以便于您获取更多的相关知识。