zoukankan      html  css  js  c++  java
  • 学习Struts2框架之下册

    ActionContext

    在每次执行Action的方法之前都会创建新的ActionContext对象,所以ActionContext是线程安全的。struts2是采用ThreadLocal模式来保存ActionContext,ThreadLocal变量为每个线程提供独立的变量值的副本,使得每个线程都可以独立的使用自己的副本,从而不会跟其他线程发送冲突(使用map进行实现的)。

    ThreadLocal原理代码

    Alt text

    ActionContext的6大对象

    Alt text

    1. valueStack
      是什么:ValueStack是ActionContext的一个对象,是栈结构,FILO(先进后出)
      使用是:存放的就是Action对象,就是把Action的信息压入栈
      注意点: 由于是ActionContext的根对象,所以如果采用OGNL访问,可以直接访问

    2. OGNL(Object Graph Navigation Language)
      是什么:工作在视图层,用来取代页面中的 Java 脚本,简化数据的访问操作。
      怎么用: 常和strus2标签合起来用
      "#": 访问非根对象(is not valueStack)的属性,如 ActionContext 上下文加“#”前缀。
      “%”符号是在标签的属性值被理解为字符串类型时,告诉执行环境%{}里的是 OGNL表达式。

    3. struts标签库
      UI标签
      Alt text
      控制标签

    <s:if test="表达式 1">
    标签内容
    </s:if>
    <s:elseif test="表达式 2">
    标签内容
    </s:elseif>
    <s:else>
    标签内容
    </s:else>
    
    <s:iteractor></s:iteractor>
    
    

    数据标签

    <s:property value="">
    <s:date name="#" format="yyyy年MM月dd日"/>
    

    Alt text

    <s:include value="foot.jsp"></s:include>
    

    类型转换(typeconvert)

    自定义类型转换
    Point(x,y)

    转换机制贴代码:

    校验

    (实例表单校验)贴代码:

    拦截器(Interceptor)
    1. 记录访问时间
    2. 记录访问量
    3. 登陆拦截
    国际化
    1. jdk国际化贴代码
    2. struts2国际化实现贴代码
    文件上传下载的问题

    struts2中的文件上传下载:

    Struts2默认采用Common-FileUpload组件来实现文件上传,只是在此基础之后做了一层封装。所以,之前依赖的jar包依然需要
    commons-fileupload-1.3.1.jar,commons-io-2.2.jar

    表单重复提交问题

    团队分模块开发, 就是在xml配置文件的时候进行包含操作, 进行集成。


    口述总结篇
  • 相关阅读:
    GUIX 创建工程注意事项
    VS 中bool和BOOL的区别
    git 在Windows上的应用
    rt-thread 相关网站地址
    tcp client
    VS2015 下载地址
    软件各种协议比较(GPL、AGPL、LGPL、Apache、Zlib/Libpng、BSD、MIT)
    UILabel标签
    UIbutton
    数据互转
  • 原文地址:https://www.cnblogs.com/jwlxtf/p/8045271.html
Copyright © 2011-2022 走看看