1)最早出现的 Struts1 是一个非常著名的框架,它实现了 MVC 模式。Struts1 简单小巧, 其中最成熟的版本是 Struts1.2。 2)之后出现了 WebWork 框架,其实现技术比 Struts1 先进,但影响力不如 Struts1。 3) 在框架技术不断发展的过程中, 有人在WebWork的核心XWork的基础上包装了Struts1 (算是两种框架的整合) ,由此,结合了 Struts1 的影响力和 WebWork 的先进技术,Struts2 诞 生了。 4)Struts2 不是 Struts1 的升级,它更像是 WebWork 的升级版本。
Struts2课程目标掌握Struts2原理、基本配置及使用掌握Struts2核心解析、国际化、类型转换、输入校验、OGNL、Struts2标签库了解AJAX技术支持掌握文件的上传与下载。深入理解MVC与Struts之间的关系,并使用基本MVC和Struts进行项目开发*主要内容Struts2原理Action详解类型转换输入校验(使用xml、程序验证两种方式)国际化文件上传OGNL表达式常用标签库属性驱动与模型驱动
Struts2拦截器登陆验证详细例子。本文章适应对象:初学者,或者学struts2入门的人员引言:很实用的,运行过的,能运行成功的。把相关的代码拷贝到工程目录下,相应的配置文件配置好,有解释的。
在网上下了个struts-2.3.3,按照网上说的方法做,一直找不到login.jsp将原文件考进去后又提示找不到相应的类。
从实例看struts2运行原理1.1简单例子先做一个最简单的struts2的例子:在浏览器中请求一个action,然后返回一个字符串到jsp页面上显示出来。第一步:把struts2最低配置的jar包加入的项目中。
Struts2 运行流程如下: 1). 请求发送给 StrutsPrepareAndExecuteFilter 2). StrutsPrepareAndExecuteFilter 询问 ActionMapper: 该请求是否是一个 Struts2 请求(即是否返回一个非空的 ActionMapping 对象) 3). 若 ActionMapper 认为该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter 把请求的处理交给 ActionProxy
Struts2文件上传完美解决中文乱码问题工具/原料Struts2.0以上步骤/方法今天主要分享开源框架Struts2文件上传实例过程,并且笔者将带着大家解决出现的一系列乱码问题,本文章中的重要部分将用特殊颜色标识,斜体表示不确定内容。笔者建议读者先快速阅读一遍本文,下载应具备的工具,再动手操作。或许写一遍比看十遍的功效更为明显。
Struts2验证框架validation.xml常用的验证规则
知识点:配置fileUpload拦截器时,可为其指定2个参数:allowedTypes:该参数指定允许上传的文件类型,多文件之间用英文(,)隔开;maximumSize:该参数指定允许上传的文件大小,单位是字节;通过配置fileUpload拦截器,可以轻松的实现文件过滤,当文件过滤失败后,系统自动转入input逻辑视图。因此必须为该Action配置名为input的逻辑视图,除此之外,还必须显示的为该Action配置defaultStack的拦截器引用;
国际化也叫I18N,是Internationalization的简称。Struts2国际化是建立在Java国际化基础上,只是Struts2框架对Java国际化进行了进一步封装,从而简化了应用程序的国际化。
什么是自定义Result所谓自定义Result,就是由我们自行开发的Result,而不是使用由Struts2预先定义好的Result。 在实际开发中,需要自定义Result的机率并不大,因为常见的各种页面展示技术,Struts2都已经预定义好相应的Result了,无需我们自行开发。如果我们要自定义Result,要么就是包装一种新的页面展示技术,要不干脆就是我们自行开发的页面展示技术,出现这些情况的可能性很低。
数据来源在helloworld示例里面,在运行Action的execute方法的时候,你会神奇般的发现,Action的属性是有值的,而这正是Action进行请求处理所需要的数据。那么,这些数据从何而来呢? 很明显,这些数据就是你在登录页面填写的数据,换句话说,这些数据来源于用户请求对象,也就是request对象。 可是,Struts2怎么知道,页面上的值如何和Action的属性进行对应呢?
Struts2之使用通配符5.4 使用通配符5.4.1 使用通配符前面学过,可以在定义action元素的name属性的时候使用通配符,使这个action元素不仅仅可以匹配一个URL,还可以匹配一类URL。而action的class属性和method属性能使用通配符的值。
在Action中execute方法的方法签名为public String execute() throws Exception,这样,Action可以抛出任何Exception,那么,Exception抛给谁呢?
在实际开发当中,常常需要在Action执行完毕后,而Result还没有开始执行的时候,做一些功能处理,比如异常处理,那么该怎么做呢? 这就需要使用PreResultListener了。看名字就知道,这是一个“Listener”,也就是一个监听器,用来执行事件监听的。那么它监听的到底是什么事件呢?
package 元素可以把逻辑上相关的一组Action、Result、Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包被其他的package继承
Java代码:因为用的时候数据是从数据库中取出来的,属性名称得改JS代码:jsp代码:这是一个二级联动,第一个select中数据时action中直接request的,用xml的也是一样的,这个不用管,主要的是根据第一个select中的value动态加载第二个select中的数据Struts.xml
Struts2自定义验证器10.5 自定义验证器10.5.1概述虽然Struts2的内建验证器可以完成绝大多数的验证需求,但是,有的时候还是需要个性化定制一些自定义的验证器。
验证器类型可以把验证器类型分为两种:字段验证器和动作验证器。其中,字段验证器就像前面演示的那样,只验证提交的表单内的单个字段;而动作验证器一般验证提交的表单内的多个字段的关系,比如,录入产品信息的时候,产品的进价不能高于售价。
签8.2 数据标签数据标签更关注如何从值栈上取值或者向值栈赋值。8.2.1property标签1:功能:用来输出OGNL表达式的值。2:属性 property标签的主要属性:value:用来获取值的OGNL表达式,如果value属性值没有指定,那么将会被设定为top,也就是返回位于值栈最顶端的对象。default:如果按照value属性指定的OGNL求值后返回的是空值.