[转]struts2:action总结以及各个相关点笔记

From:http://blog.sina.com.cn/s/blog_62e585a50100h73m.html

总结: struts里Action总结

    1,实现一个action的最常用的方式:从ActionSupport继承
    2,DMI动态方法调用,!
    3,通配符配置*{1}{2}、、、、
    4,接收参数的方法(一般用属性接收,或者DomianModel来接收)
    5,简单参数验证:addFieldError
        a)一般不适用struts2的UI标签
    6,访问Web元素
        a)Map类型
             i。  IoC,这种用的多,就是继承那几个接口,
             ii。依赖struts2,这种就是需要使用ActionContext来获取。
               request=(Map)ActionContext.getContext().get("request");
        session=(Map)ActionContext.getContext().get("session");
        application=(Map)ActionContext.getContext().get("application");
        b)原始类型
             i。IoC
             ii。依赖struts2

 

     7,包含文件配置
     8,默认action处理

 

 

一  struts2里的struts标签的位置:
    struts2-core-2.1.8.1.jar-->META-INF下,这里有个struts-tags.tld文件,

二  struts2标签里有个<s:property>标签,这个标签用来取valuestack里的值,或是context里的值。这样在action页面添加错误信息
    时可以这样写:this.addFieldError("the name of error","the message of error");可以同一个错误名称对应多个值,例如:
    this.addFieldError("nameError","sdebug check name is wrong");
  this.addFieldError("nameError", "the name is too long");

    然后在jsp页面内取值的时候,写成:<s:property value="errors.nameError[1]"/>
    这样就取到了第二个错误信息。

三 <s:debug>标签可以用来调试程序。

四 多种按钮提交同一个action,小技巧啦
   在定义form表单的时候,把action动作指定定义为空,然后在页面定义多个submit提交按钮,在每个按钮中定义所想要
   执行的action,这就是多个按钮提交同一个action。
  

五  取得Map类型的request,session,application,真实类型的HttpServletRequest,HttpSessione,ServletContext的引用的相关知识。

    其实最常用的还是实现接口:implements RequestAware,SessionAware,ApplicationAware
    这里用到的是IoC的思想,当实现了这样的接口的时候,就不用初始化你的action里的request等变量了,而是都由Struts2
    替你完成初始化,这就是控制反转的思想。
    这里的request,session和application等都是struts2帮我们初始化好了的,是从http里拿来,然后放到你的程序变量里。
    常用的就是session,其他的都不常用

六  struts配置文件包含:<include file="login.xml"/>就可以了
    在这个小功能上,主要是为了开发方便,开发都是会分模块的,把一些公用的配置放到struts.xml里,然后
    在用<include>包含其他模块的配置文件。

七  struts里的默认action,可以在package里配置<default-action-ref name="index" />
    这样在这个package里的namespace下,默认的action就是这个了。

posted @ 2012-08-01 11:10  书山瞌睡虫  阅读(252)  评论(0编辑  收藏  举报