struts2笔记

一、获得Servlet-Api的方式:

  1. 解耦:ActionContext—struts的数据中心所有我们能用的struts2自己用的数据都放到了数据中心获得

    • ActionContext : ActionContext.getContext()获得
    • Request域:Map ac.get(“request”)
    • Respose域:Map ac.get(“respose”)
    • Session域:Map ac.get(“session”)
    • Application域:Map ac.get(“application”)
    • 提交的参数Map ac.getParamters();
  2. 耦合: ServletActionContext—原生的servletApi对象(struts2不推荐使用)

    • Request域:Map ServletActionContext.getRequest();
    • Respose域:Map ServletActionContext.getRespose();
    • Session域:Map ServletActionContext.getSession();
  3. 其他:让Action实现ServletRequestAware、ServletResponsetAware、SessionAware 这些接口实现后,struts会在启动的拦截器中注入你想要的对应对(servletConfig拦截器))

二、自定义转换器

  1. 实现TyoeConverter接口(太麻烦)

  2. 继承DefaultTypeConverter类

    ConvertValue(object object,Class toType)
    配置类型转换器:
    局部配置:Action所在包下:Action简单类名conversion.properties—-birthday-转换器完整类名
    全局配置;src下xwork-conversion.properties—转化的类型—转化器完整类名

三、验证验证表单数据
编程式:

  1. 让Action继承ActionSupporth或者事项两个接口Validateable、 ValidationAware

  2. 重写validate或者添加validateXXX,, validateDoXX,棋子xxx是表示要验证的action方法名

配置式:

  1. 可以在action路径下加入校验文件
    A. action的 Classname+-validate.xml—对整个actiin的所有方法进行校验

    B. action的Classname-action注册名称+-validatiin.xml
    –指定验证action的特定方法(注册名称)

  2. 校验文件写法

    A.新建一个xml校验文件
    B.加入一个dta---xwork-core-2.3.15.1.jar/xwork-validator-1.0.3.dtd
    C.加入校验器comopensymphony..xwork2.validator.validators下找到
    

四、自定义拦截器
3种自定义拦截器的方式:

 1. 实现interceptor接口

 1. 继承abstractIntceptor抽象类

 1. 继承MethodFilterIntercept抽象类

书写拦截器步骤:

 1. 书写拦截器类          

 1. 在xml中注册拦截器         

 1. 在action拦截器栈中引用拦截器(注意加上默认的拦截器defaultStack)

五、Ognl表达式
强大的导航语言,一般我们用ognl表达式取数据
取数据的位置,需要给ognl准备两个
Context:上下午—需要的是一个map
Root:根—可以任何java对象—Object
规则:表单式直接写标示从根下去
表单式以“#”开头标识从context中取

参数提交自动封装到Action实际上是给Ognl赋值
Ognl的表达式的根是ValueStack
ValueStack中装的实际上是Action

你可能感兴趣的:(javaEE框架相关,struts,struts2.0)