`
chandler
  • 浏览: 81892 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Struts2学习笔记(二)

阅读更多

Package
    Struts2的package的概念和java中的package概念有点不同。因为其能够继承。java中的包是没有继承的。
    其有4个属性。
    name (required):包的名字
    namespace:路径,就是URL中的路径。关于这个,有一点需要注意的是,如果说这个为空。那么这个package中的所有action,都将按照名字,而不是完整的路径来匹配。举例来说。如果说一个package的namespace为空,且其中的有一个A action,且web中没有这个A action。那么XXX/A.action, /A.action ……都会匹配到A上面。
    extends:继承。一般建议继承Struts-default。
    abstract:是否为抽象。

struts-default package
   这是一个包含有很多基础设施的一个包。在struts2中。intercepter做为一个很重要的组成部分,其的作用类似于一种服务的提供者。而struts-default这个包当中,就包含了一些常用的intercepter。
   比方说负责验证的workflow(可能这不是其唯一的功能),负责传递数据的param,以及负责数据上传的fileUpload。这些都是包含在struts-default中的intercepter-stack里面。
   所以来说,如果继承了struts-default包,免去了很多重新配置intercepter的工作。同时,也说明,在package中,不仅仅只是action那么简单的。还有很多其他东西,组成package,使其能够进行工作。

ActionSupport
   这是一个包含了一个Aciton常用方法和常用参数的类。其实任何一个pojo类都可以成为一个action。前提就是其有一个实现返回string的execute的方法。但是这样会一个问题就是规范,毕竟有时候拼写错误也是相当麻烦的一件事情。
   其实在这里,引入AcitonSupport讲的还是intercepter。这里讲了两个intercepter,一个是workflow,另一个则是param。最主要的还是workflow。通过workflow,可以把验证的逻辑和本来的业务逻辑进行分离。
   引入了intercepter的作用并不是只是简简单单的使得代码更加简洁。而是提供一种“流”的概念。就比说用户验证的整个过程,首先是param把数据放入到aciton上面,其次是workflow进行验证。如果验证不通过。则返回前面一个页面。
   标准的validate返回值是void,就能说明这一点。因为对于struts来说,控制“流”的并不是一个一个aciton,aciton某种意义上只是提供逻辑的一个平台。

Action的作用
   1 ACTIONS ENCAPSULATE THE UNIT OF WORK。
        其实这句话,有点拗口。unit of work,工作的单元。一个工作是一个逻辑块。这里也就定位了,它只是一个工作流上的一个点。它能决定一个工作流的走向,比如下一个调用哪一个action,是否可以通过合理性的验证……但是这些,只是一种反馈。
    
   2,ACTIONS PROVIDE LOCUS FOR DATA TRANSFER:数据分销中心。由于有valuestack存在,所以,action,已经不是简简单单的一个控制器
   
   3:ACTIONS RETURN CONTROL STRING FOR RESULT ROUTING,更好的解释了第一个。他只是返回了control string。

对象装配
     对于习惯了oo的人来说,对象这是一个宝贝一样的存在,而web开发中,输入的input都是一些原始的string类型。转换是一件让人很头痛的事情。
     在struts2中,有两种让对象进行转换的方法。
     Object-backed JavaBeans properties:这种比较简单,我觉得是比较好的方式。打个比方说,user类有两个属性name和password,那么在jsp上的input的name属性分别为use.name和user.password两个就可以了。然后在action类上面,设个user的属性就问题解决。
     ModelDriven actions:让action类实现ModelDriven接口。ModelDriven返回的是一个空的你要装配的Bean类。以上面的例子为例,就是这个bean要有name和password两个属性。有一点不要混淆的就是,装配过程实在action外面完成的。struts通过完成getModel方法,得到一个bean,并把属性装入到其中的属性当中去。
     我觉得前一种方法比较好。

文件上传
[file name from form] File—the uploaded file itself
[file name from form]ContentType String—the content type of the file
[file name from form]FileName String—the name of the uploaded file,
  在action中实现这3个方法就可以了。其中文件是放在file当中。

0
1
分享到:
评论

相关推荐

    struts2学习笔记二

    在本篇学习笔记中,我们将重点讨论Struts2框架中的Action和拦截器(Interceptor)如何处理请求参数。 首先,Struts2的核心是拦截器机制,它允许我们在Action执行前后插入自定义的处理逻辑。在`struts-default.xml`...

    struts2学习笔记二(第2讲.Struts2入门与配置续)

    本篇学习笔记将深入探讨Struts2的入门与配置,继续上一讲的内容。 首先,Struts2的基础入门涉及到以下几个核心概念: 1. **Action类**:在Struts2中,业务逻辑通常封装在Action类中。Action类是处理用户请求的主体...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2 学习笔记 实战

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...

    struts2学习笔记(详细文字)

    structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的

Global site tag (gtag.js) - Google Analytics