package的名字不能重复
extends可以继承其他的packageabstract里面的action不生效namespace命名空间,默认命名空间,跟命名空间,访问action:/工程名字/命名空间/action名字-------------------------包含include分模块开发----常量constant,修改方式有两种,properties方式,2.constant标签(struts.xml)1.Reqult typeredirectAction重定向到一个actionredirect:重定向到一个页面dispatcher:转发到JSP*(默认)chain,转发到action<result><param type="redirectAction">actionName</param></result><result type="chain"> <param type="actionName">actionName</param> <param type="namespace">/命名空间</param> <param type="method">methodName</param></result>(记得去哪里查)获得共享对象的4种方法-------------------------------------------------------------------------
intercept拦截器
自定义拦截器intercept接口AbstractIntercept适配器
MethodFilterIntercept粒度更细,可以排除一些不需要被拦截的方法,更加细致
---------------------------------------------------------------------------OGNLStruts2-core.......struts-tags.tld
<@taglib prefix='s' uri="/struts-tags">引用标签
<s:form action="", theme="simple">------------------ theme="simple"自己设置样式
List---------------------<s:iterator value="hobby" value="h"> <s:property value="h"/></s:iterator> <s:debug></s:debug> ---------值栈静态方法: <s:property value='@类名@方法()'>
调用JDK中的静态方法JDK_Static <s:property2--- List <s:iterator value="list" var="uu" > ...
<s:property value='username'/>或${username}</s:iterator>-------------------------
set?----
Map?-------
Action----Users-----Address
List(Users)---Hobby(List)---------out
---------------------------------------------
<s:optiontransferselect doubleList="" list="" doubleName="" label="权限">
</s:optiontransferselect> -----------国际化
国际化 i18n
1.改常量
<constant name="struts.custom.i18n.resources" value="globalMessage"> //在xml中配2.建立文件,取名字globalMessage_en_US.propertiesglobalMessage_zh_CN.properties3.
引入标签页面<s:text name="username"></s:text>---------------------------------------
<s radio="#{'男':'男','女':'女'}" vlue="'男'" name="">
----------------------验证框架
*把公用的验证写在validate(),相当于全局变量,每次都先执行里面的验证
1、验证框架,自动验证
当做局部验证的时候不好用。
验证文件xml的格式------loginAction-registerAction-validation.xml
(注意,这里的registerAction值得不是Action执行的方法,而是action当中虚拟路径,我们可以通过method标签,满足调用局部方法的功能。