`
haiziwoainixx
  • 浏览: 415088 次
  • 性别: 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 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC ...掌握 Struts2 的核心概念和技术要点,对于 Web 开发者来说至关重要。

    struts2技术内幕+struts2权威指南

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

    struts2 spring hibernate整合要点、注意点

    ### Struts2、Spring与Hibernate整合的关键点及注意事项 #### 一、概述 在Java Web开发领域,Struts2、Spring以及Hibernate是三个非常重要的框架。它们分别在MVC架构、依赖注入与业务逻辑管理、对象关系映射等方面...

    struts2的复习

    Struts2是一个强大的Java Web应用程序开发...以上就是Struts2框架的复习要点,涵盖了从基础概念到高级特性的各个方面。在实际开发中,理解并熟练运用这些知识点,能够有效地提升开发效率,构建出高效稳定的Web应用。

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

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

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

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

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

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

    我的struts2的总结

    综上所述,通过分析提供的文件信息,我们可以了解到关于Struts2框架的一些基础概念及其配置要点。虽然原文中的信息较为简单且不完整,但我们仍然可以从中学到如何配置Struts2框架的基本知识。希望这些知识点能够帮助...

    Struts2技术内幕.pdf

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

    struts2标签库

    ### Struts2 标签库详解 Struts2框架作为Struts1的升级版,在功能性和易用性方面有了显著的提升。对于那些已经熟悉...通过本文介绍的一些关键标签及其用法,相信读者可以更快地掌握Struts2的核心概念和技术要点。

    starting struts2 online.pdf

    本书旨在帮助开发者快速掌握Struts2的核心概念和技术要点,为开发基于Struts2的Web应用程序奠定坚实的基础。 ### Struts2框架简介 Struts2是基于MVC(Model-View-Controller)设计模式的Java Web应用框架,它将...

    Struts2框架做的用户登录的简单实例

    可以使用Struts2的标签库,例如`s:textfield`和`s:submit`来构建表单。 3. **Action处理**: - 用户提交登录信息后,Struts2框架会将这些信息传递给指定的Action类。在这个实例中,Action类会接收到用户名和密码,...

    Struts2DesignAndProgramming

    综上所述,《Struts2 Design and Programming: A Tutorial》这本书不仅全面涵盖了Struts2的基础知识和高级特性,还通过大量的实例帮助读者理解和掌握这些技术要点。对于希望深入学习Struts2框架的Java开发者来说,这...

    struts2下载功能实现

    Struts2是一个流行的Java web开发框架,用于构建可维护...以上就是Struts2框架中实现下载功能的核心步骤和技术要点,涵盖了配置、Action类的编写以及前端交互。通过这些步骤,开发者可以构建出一个可靠的文件下载系统。

    ireport+struts2实现web开发

    在Web开发领域,IReport与Struts2的结合使用是一种常见的技术栈,尤其适用于构建数据可视化和报告生成的系统。IReport是一款强大的报表设计工具,它允许开发者通过拖拽方式创建复杂的报表,而Struts2则是一个流行的...

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

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

    Struts2 学习 2

    本教程“Struts2 学习 2”将深入探讨Struts2的核心概念和技术,通过一系列文档帮助你掌握这个框架的关键要点。 一、ActionContext的理解与应用 在“第九讲 ActionContext.docx”中,你将学习到ActionContext是...

    泰牛程序员 韩顺平 JavaEE全套 第15部分 Struts2基础入门

    2. **实战性强**:通过具体的项目案例进行讲解,让学习者能够在实践中掌握技术要点。 3. **注重基础知识**:在讲解高级框架之前会先介绍相关基础知识,帮助初学者打好坚实的基础。 4. **更新及时**:紧跟技术发展...

    基于struts2的餐饮收费系统

    《基于Struts2的餐饮收费系统详解》 在软件开发领域,尤其是企业级应用中,Struts2框架因其强大的MVC(Model-View-Controller)架构支持,被广泛应用于构建Web应用程序。本项目“基于Struts2的餐饮收费系统”正是...

    Struts2注解使用说明

    ### Struts2注解使用详解 #### 一、引言 在Java Web开发领域,Struts2框架以其灵活的架构和强大的功能深受...掌握这些特性,能够显著提升开发速度,减少出错几率,是每一个Struts2开发者都应该熟练掌握的技术要点。

Global site tag (gtag.js) - Google Analytics