`
haiziwoainixx
  • 浏览: 410551 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

struts2使用要点

阅读更多

1. 在一个Action中包含多个处理逻辑,但是不管有多少个处理逻辑  public ,  String  ()

         1.1 动态方法调用DMI

                   1.1.1  ActionName!methodName

                   1.1.2  ActionName?method:methodName

                   ### Set this to false if you wish to disable implicit dynamic method invocation

                   ### via the URL request. This includes URLs like foo!bar.action, as well as params

                   ### like method:bar (but not action:foo).

                   ### An alternative to implicit dynamic method invocation is to use wildcard

                   ### mappings, such as <action name="*/*" method="{2}" class="actions.{1}">

                   struts.enable.DynamicMethodInvocation = true

                  

         1.2 配置Action指明  method 属性

                   通过这种方式可以把一个Action类映射为多个逻辑上的Action

         1.3 使用通配符

                   一个Action的配置映射多个Action

                   约定优先

                   <!-- 当执行一个Action的时候,先找严格匹配的,如果没有严格匹配的,按照从上到下的顺序进行匹配,找到第一可以成功匹配的就执行 -->

                  

2. 如何获得用户提交的表单信息   

         2.1 属性驱动

         2.2 Model Driven (ActionForm)

                   2.2.1 首先提供model,功能上类似于struts1ActionForm, 最好实现Serializable 接口

                   2.2.2 Action implements ModelDriven<model>

                   2.2.3 Action中自己实例化model的实例: private UserInfo userInfo = new UserInfo();

                   2.2.4 重写getModel方法,返回model的实例: public UserInfo getModel() {return userInfo;}

                   2.2.5  <s:property value="model.info"/>

         2.3 属性驱动,属性是Javabean      

                   private UserInfo userInfo = null;

                   public UserInfo getUserInfo() {

                            return userInfo;

                   }

 

                   public void setUserInfo(UserInfo userInfo) {

                            this.userInfo = userInfo;

                   }

                    <s:textfield name="userInfo.username">  属性名。属性

                    

3. 访问servlet API

         3.1   Map 类型 servlet 对象

                   3.1.1         依赖注入

                                     import org.apache.struts2.interceptor.RequestAware;

                                     import org.apache.struts2.interceptor.ApplicationAware;

                                     import org.apache.struts2.interceptor.SessionAware;

                   3.1.2        通过特定的API

                                     Map<String, Object> session = ActionContext.getContext().getSession();

                                     Map<String, Object> application = ActionContext.getContext()

                                     .getApplication();

                                     Map<String, Object> request = (Map<String, Object>) ActionContext

                                               .getContext().get("request");

                  

         3.2   拿真实的servlet API对象  

                   3.2.1        依赖注入

                                     import org.apache.struts2.interceptor.ServletRequestAware;

                   3.2.2      通过特定的API

                                     ServletActionContext.getRequest()

                                     ServletActionContext.getRequest().getSession()

                                    

4. OGNL is the Object Graph Navigation Language

         struts2的标签默认使用的表达式 OGNL

5. 简单的数据校验(ognl对象导航)

 

6. ResultType

         <action name="login" class="com.pk.action.LoginAction">

                            <result type="redirectAction">checkEmail?id=${id}</result>

         </action>

         此次${id} 意味着从值栈中取id的值

        

         Action的链式调用中,ActionContext.getContext().getValueStack().findString("id")

         取得上个Action 值栈里面的信息

        

         往其它包里面掉转的方式

         <result type="redirectAction">

                <param name="actionName">HelloWorld</param>

                <param name="namespace">/example</param>

         </result>

        

7. result的范围

         result定义在Action的内部,称局部result,供本Action使用

         全局result ,供本包所有的Action共享

         <global-results>

                            <result>/welcome.jsp</result>

         </global-results>         

         就近原则,局部优先

        

8. struts2 spring的整合

         8.1   复制struts2jar

         8.2   配置struts2核心控制器

         8.3   提供struts2的配置文件

        

         8.4   复制springjar

         8.5   提供spring的配置文件

         8.6   提供log4j的配置文件

         8.7   启动spring IOC容器

        

         8.8   整合: Action访问到IOC容器管理的业务层的Bean

                   添加一个额外的jar:struts2-spring-plugin-2.1.8.1.jar

                  

                   8.8.1         依赖于自动装配

                            在默认情况下,按名字进行自动装配,可以通过下面的配置改为按类型自动装配

                            <constant name="struts.objectFactory.spring.autoWire" value="type"></constant>

                           

                   8.8.2        Action交给spring进行管理

                            多配置一个bean

                            <bean id="abc" class="com.pk.action.RegistAction" scope="prototype">

                                     <property name="registService" ref="registService"></property>

                            </bean>

                            beanid??

                            只要保证<action name="regist" class="跟上面的id一致"></action>

                           

分享到:
评论

相关推荐

    struts2技术内幕+struts2权威指南

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    struts2 技术内幕——深入解析struts2架构设计

    同样重要的是,本书还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。  本书主要分为3大部分...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理.pdf

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    《Struts2技术内幕:深入解析Struts2架构设计与实现原理》还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了...

    struts2 spring hibernate整合要点、注意点

    struts2 spring hibernate 整合: 三者整合通过查询oracle数据库中的用户登录界面,最简单的配置。 struts.xml web.xml application.xml怎样配置,怎样依赖注入才能实现整合,显示出页面?请看这篇文档

    Struts2技术内幕.pdf

    同样重要的是,本书还深入挖掘并分析了Struts2源代码实现中蕴含的大量值得称道的编程技巧和设计模式,这对开发者从Struts2的设计原理上去掌握和悟透Web层开发的要点和本质提供了绝佳的指导。  本书主要分为3大部分...

    struts2 spring hibernate整合的简单登录代码

    使用mysql数据库的struts2 spring hibernate整合简单示例,也可参考我的:“struts2 spring hibernate整合要点、注意点”这篇文档来配置

    Struts2+Spring2+iBatis2+MySQL的完整示例

    开发环境说明 IDE:MyEclipse 7 JDK:1.5.0_15 Web容器:Tomcat 6.0.20 由于上传文件尺寸的限制,Lib下的Jar运行...想完整学习Struts2+Spring+iBatis的同仁,可以在这个例子中学习或模仿最基本也是最核心的技术要点。

    struts2教程.CHM文档

    本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 — Struts 2的框架...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    Struts2技术手册-Struts2精华教程-电子书

    本书内容非常全面,涵盖了众多书籍所有知识要点,并结合作者自己经验总结而编写,内容相当丰富,是查找技术的好帮手及学习Struts2的不二选择 众所周知,一般书籍为了销售需要,往往很少的知识点,却需要添加大量的...

    Struts2超详细学习笔记分享(献给自学新人)

    本文档记录了Struts2初学中的所有要点笔记,非常详尽的知识点说明并附加了学习者对知识的理解过程,是新人学习Struts2框架的必备参考典范。

    Struts2技术内幕:深入解析Struts架构设计与实现原理

    在核心实现篇中,通过源码解析,帮助广大开发者从Struts 2自身的设计原理上去掌握Web层开发的要点,如数据、动作、拦截器、视图、Plugin、配置、过程;最佳实践篇介绍了一些在实战中提炼出来的针对Struts 2的扩展和...

    struts2权威指南

    本章要点: Struts2的下载和安装 纯手工创建一个Web应用 纯手工创建一个Struts2应用 实现Struts2的Action 配置Struts2的Action

    struts2学习笔记!

    struts2学习笔记!因为还没有全部学完,所以分部分分享!主要内容:struts.xml配置,web.xml配置 Action要点!全局类型转换,部分类型转换,类型转换文件 类型装换错误的处理问题局部使用,把中文汉字转换为编码 struts2对...

    struts2文件下载

    针对struts2的初学者而言是个好东西

    struts2+hibernate

    struts2+hibernate框架的学习是一个很难的过程,但期末考试的学习也是一个很难的过程。这里简单的总结了一些复习要点,希望可以帮助你

    Struts 2权威指南:基于WebWork核心的MVC开发

    本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 — Struts 2的框架架构 — ...

    struts2讲义

    struts2学习文档,包括技术要点,演示代码.

Global site tag (gtag.js) - Google Analytics