zoukankan      html  css  js  c++  java
  • Struts2学习(二)

    1.Struts2的Servlet的API的访问

      1.1   完全解耦合的方式

        ActionContext context = ActionContext.getContext( );

        通过context获取request、response等

        

          *****注意:这种方式只能获得代表request、session、application的数据的Map集合,不能操作这些对象的本身的方法。

       1.2  使用Servlet的API的原生方式

         通过ServletActionContext.getXXX( ) 获得request、response

          HttpServletRequest request = ServletActionContext.getRequest( );

          

       1.3   接口注入的方式

    2、Servlet 和 Action 的安全问题

      Servlet是单例的,多个程序访问同一个Servlet只会创建一个Servlet的实例。

      Action是多例的,一次请求,创建一个Action的实例(不会出现线程安全的问题)。

    3、结果页面的配置

        3.1 全局配置

        

        3.2、局部配置

        

    4、result标签的配置

      result标签用于配置页面的跳转。在result标签上有两个属性:

        name属性       :逻辑视图的名称。默认值:success

        type属性         :页面跳转的类型。

          dispatcher       :默认值,请求转发。(Action转发JSP

          redirect             :重定向。(Action重定向JSP

          chain                  :转发。(Action转发Action)

          edirectAction :重定向。(Action重定向Action)

          stream               :Struts2中提供文件下载的功能

     5、数据封装方式

      5.1   属性驱动:提供属性set方法的方式(不常用)

      5.2  属性驱动:页面中提供表达式方式(*****)

      

      

       5.3   模型驱动:采用模型驱动方式(最常用):实现ModelDriven<Class>接口

       

    注意:模型驱动方式最常用的方式:

      缺点:只能同时向一个对象中封装数据。对于复杂数据的封装(集合),使用页面表达式封装,可以向多个对象中同时封装数据:

     

  • 相关阅读:
    WebAPi返回类型到底应该是什么才合适,这是个问题?
    NuGet程序包安装SQLite后完全抽离出SQLite之入门介绍及注意事项,你真的懂了吗?
    完全抽离WebAPi之特殊需求返回HTML、Css、JS、Image
    模板引擎Nvelocity实例
    C#由变量捕获引起对闭包的思考
    AngularJS之指令中controller与link(十二)
    AngularJS之ng-class(十一)
    AngularJS之WebAPi上传(十)
    AngularJS之代码风格36条建议【一】(九)
    两个List合并去重
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10595582.html
Copyright © 2011-2022 走看看