package的名字不能重复
extends可以继承其他的package
abstract里面的action不生效
namespace命名空间,默认命名空间,跟命名空间,
访问action:/工程名字/命名空间/action名字
-------------------------
包含include分模块开发

----
常量constant,修改方式有两种,properties方式,2.constant标签(struts.xml)

1.Reqult type

redirectAction重定向到一个action
redirect:重定向到一个页面
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粒度更细,可以排除一些不需要被拦截的方法,更加细致
---------------------------------------------------------------------------
OGNL

Struts2-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:property value='@@random()'/>
调用JDK中的静态方法JDK_Static  <s:property value='@java.lang.Meth@random()'/>

struts.xml中设置常量<constant name='' value=''/>
----------------------------------------------------
List<Users> list=new ArrayList<String>();
List<String> lv=new ArrayList<String>();
Users u1=new Users("张三","123","男","false",lv);
Users u2=new Users("张三","123","男","false",lv);
Users u3=new Users("张三","123","男","false",lv);
list.add().....
调用List当中的某一个元素:
 1.---   List:  <s:iterator value="list" var="aa" status='n'>    ...设置步长n
 <s:property value="list[#n.index].username"/>
</s:iterator>

2---   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.properties
globalMessage_zh_CN.properties

3.
引入标签
页面<s:text name="username"></s:text>

---------------------------------------

<s radio="#{'男':'男','女':'女'}" vlue="'男'" name="">

----------------------验证框架

*把公用的验证写在validate(),相当于全局变量,每次都先执行里面的验证

1、验证框架,自动验证

当做局部验证的时候不好用。

验证文件xml的格式------loginAction-registerAction-validation.xml
(注意,这里的registerAction值得不是Action执行的方法,而是action当中
虚拟路径,我们可以通过method标签,满足调用局部方法的功能。

posted on 2013-08-06 16:04  慧是永远  阅读(175)  评论(0编辑  收藏  举报