
struts2
文章平均质量分 73
云原生之家
这个作者很懒,什么都没留下…
展开
-
struts2 18拦截器详解(六) --- PrepareInterceptor
PrepareInterceptor 该拦截器处于defaultStack第五的位置,该拦截器的功能主要是在Action的execute(假设配置文件中没有指定)方法之前执行一些业务逻辑,如果你刚好有这样的需求,该拦截器是你很好的选择,要使该拦截有效,Action要实现Preparable接口,与前面几个拦截器不同的是该拦截器继承自MethodFilterInterceptor而不原创 2013-10-31 11:40:36 · 2265 阅读 · 0 评论 -
struts2 18拦截器详解(七) --- ChainingInterceptor
ChainingInterceptor该拦截器处于defaultStack第六的位置,其主要功能是复制值栈(ValueStack)中的所有对象的所有属性到当前正在执行的Action中,因为如果说ValueStack中没有任何对象的话,该拦截器不会干任何事情,看到这个拦截器的名称,大家应该会想到有一种chain类型的Result,该拦截器主要就是针对chain类型Result起作用的,因原创 2013-10-31 16:45:28 · 1706 阅读 · 0 评论 -
struts2 18拦截器详解(八) --- DebuggingInterceptor
DebuggingInterceptor 该拦截器处理defaultStack第七的位置,看它的名字就知道是用来调试用的。个人觉得虽然该拦截器中代码最多,却是最没用的一个拦截器,该拦截器主要是提供了几种调试屏幕,因为如果我们要查看ActionContext或ValueStack中存储的数据的话,struts2还提供了一个标签,只要在页面中把该标签加上,ActionContext或V原创 2013-10-31 18:28:52 · 2185 阅读 · 0 评论 -
struts2 18拦截器详解(九) --- ScopedModelDrivenInterceptor
ScopedModelDrivenInterceptor 该拦截器处于defaultStack第八的位置,其主要功能是从指定的作用域内检索相应的model设置到Action中,该类中有三个相关的属性:scope:从哪里获取model,有两个值,一是request,二是session,默认值为requestname:在scope中检索model的keyclassName:原创 2013-11-01 13:58:43 · 1886 阅读 · 0 评论 -
struts2 18拦截器详解(十) --- ModelDrivenInterceptor
ModelDrivenInterceptor 该拦截器处于defaultStack中的第九的位置,在ScopedModelDrivenInterceptor拦截器之后,要使该拦截器有效的话,Action必须实现ModelDriven接口,该接口就一个方法:getModel(),ModelDrivenInterceptor拦截器主要做的事就是调用Action的getModel()原创 2013-11-01 17:27:48 · 2122 阅读 · 0 评论 -
struts2 18拦截器详解(十一) --- FileUploadInterceptor
FileUploadInterceptor 该拦截器处于defaultStack第十的位置,看其名称就知道是用于处理文件上传的,对于文件上传有一点大家应该要了解:struts2处理文件上传内部使用的是commons-fileupload组件,当我们在form表单中把enctype属性设置为"multipart/form-data"时表示这是一个文件上传请求,当struts2接收到这原创 2013-11-02 23:29:49 · 3968 阅读 · 0 评论 -
struts2 18拦截器详解(十二) --- CheckboxInterceptor
CheckboxInterceptor 该拦截器处于defaultStack第十一的位置,看这个拦截器的名称应该就是对checkbox进行处理的。要理解这个拦截器的作用有一点必须知道:当一个form表单中存在一个checkbox的时候,假设这个checkbox的name属性值为married,当我们选上这个checkbox的时候请求参数命令里有一个married=true参数,原创 2013-11-03 19:47:51 · 3793 阅读 · 0 评论 -
struts2 18拦截器详解(十三) --- MultiselectInterceptor
MultiselectInterceptor 该拦截器处理defaultStack第十二的位置,是用于处理select标签没有一个option被选中的情况,这个拦截器的逻辑与CheckboxIntercept拦截器非常类似,几乎是一模一样的。当一个select标签(multiple="multiple")没有一个option被选中的时候就相当于没有这个select标签,这就出现原创 2013-11-03 19:53:06 · 1653 阅读 · 0 评论 -
struts2 18拦截器详解(十四) --- StaticParametersInterceptor
struts2 18拦截器详解(十四)之StaticParametersInterceptor 该拦截器处于defaultStack第十三的位置,是用来把通过标签配置在struts2配置文件中为Action配置的静态参数填装到Action中如果Action实现了Parameterizable接口,还会把静态参数封装成一个Map直接传递给Action,这些静态参数还会添加到request参数Map中除非该拦截器的mer原创 2013-11-04 19:41:41 · 2971 阅读 · 1 评论 -
struts2 18拦截器详解(十五) --- ParametersInterceptor
ParametersInterceptor 该拦截器处于defaultStack第十五的位置,这里跳过了一个拦截器,先讲ParametersInterceptor再讲第十四个ActionMappingParametersInteceptor因为ActionMappingParametersInteceptor继承自ParametersInterceptor,只是赋值参数源不一样,所原创 2013-11-05 20:12:42 · 6405 阅读 · 0 评论 -
struts2 18拦截器详解(十六) --- ActionMappingParametersInteceptor
ActionMappingParametersInteceptor ActionMappingParametersInteceptor拦截器处于defaultStack第十四的位置,该拦截器继承自ParametersInterceptor,也是用于把参数设置到ValueStack中,只不过该拦截器的参数是来源于ActionMapping中,而不是来自请求参数。往ValueSta原创 2013-11-05 20:33:45 · 2423 阅读 · 0 评论 -
struts2 18拦截器详解(十七) --- StrutsConversionErrorInterceptor
StrutsConversionErrorInterceptorStrutsConversionErrorInterceptor拦截器处于defaultStack第十六的位置,是用于处理转类型转换错误的,该拦截器继承自ConversionErrorInterceptor类其大部分功能逻辑都在ConversionErrorInterceptor中,StrutsConversionEr原创 2013-11-06 15:44:54 · 2532 阅读 · 0 评论 -
struts2 18拦截器详解(十八) --- AnnotationValidationInterceptor
AnnotationValidationInterceptor AnnotationValidationInterceptor拦截器处于defaultStack第十七的位置,主要是用于数据校验的,该拦截器继承自ValidationInterceptor拦截器增加了在方法上使用注解取消校验功能。ValidationInterceptor又继承自MethodFilterInterc原创 2013-11-06 15:50:46 · 3417 阅读 · 0 评论 -
struts2 18拦截器详解(十九) --- DefaultWorkflowInterceptor
DefaultWorkflowInterceptor DefaultWorkflowInterceptor拦截器处于defaultStack第十八的位置,为defaultStack拦截器栈中的最后一个拦截器,其主要功能是判断当前Action的执行过程有无错误,包含ActionError与FieldError两种,例如在请求参数类型转换出错后就会添加FieldError。如果执行原创 2013-11-06 15:56:55 · 2441 阅读 · 0 评论 -
struts2 18拦截器详解(五) --- I18nInterceptor
I18nInterceptor 该拦截器处理defaultStack第四的位置,是用来方便国际化的,如果说我们的一个Web项目要支持国际化的话,通常的做法是给定一个下拉框列出所支持的语言,当用户选择了一种语言后后面浏览的所有页面自动切换到所选择的语言版本,而该拦截器就是用来实现该功能的。要实现语言切换说白了就是动态改变Locale。 在该拦截器中定义了三个属性,分别是:原创 2013-10-30 23:29:49 · 2793 阅读 · 0 评论 -
struts2 18拦截器详解(四) --- ServletConfigInterceptor
ServletConfigInterceptorServletConfigInterceptor拦截器处理defaultStack第三的位置,可以说这个拦截器是18拦截器中逻辑最简单的一个,就是给Action提供一种获取运行参数的一种方式,如果request,session,application,通过该拦截器,只要Action实现相应的接口就可以获得这些对象。下面是该拦截器interce原创 2013-10-29 19:56:05 · 2120 阅读 · 0 评论 -
struts2 18拦截器详解(三) --- AliasInterceptor
AliasInterceptor 该拦截器位于defaultStack第二的位置,其功能比较简单,主要就是为我们传递的请求参数取别名映射到多个命名的参数上,这样可以让多个Action以不同的参数名共享同一个请求参数,特别是在Result类型为chain的时候。下面举个例子讲一下如何配置这个拦截器: #{ 'un' : 'username' } /WEB-INF/page/m原创 2013-10-29 19:50:40 · 1592 阅读 · 0 评论 -
struts2中如何把二进制数据输出到客户端
因自己在用struts2做点小东西,因图片很小就把图片直接存在了数据库啊,但是如何把二进制数据输出到客户端却遇到了麻烦,最开始想到的是ServletActionContext.getResponse().getOutputStream();这样做虽然能把图片输出到客户端却的了一个异常,因为在struts2的内部已经获取过一个输出流了,为了去掉这个异常于是网上搜,但也没有得到理想的答案,但点了一个链原创 2013-02-26 19:43:03 · 1015 阅读 · 0 评论 -
fckeditor 2.6 jsp 中上传功能 与 strut2 中过滤器的问题
fckeditor 2.6 jsp 中上传功能 与 strut2 中过滤器的问题原来使用strut1和strut2。然后上fckeditor。发现上传功能出问题。提示如下Servlet.service() for servlet ConnectorServlet threw exceptionjava.lang.IndexOutOfBoundsException: Inde转载 2013-04-04 00:31:01 · 821 阅读 · 0 评论 -
jquery之ajaxfileupload异步上传插件
点我下载工程代码由于项目需求,在处理文件上传时需要使用到文件的异步上传。这里使用Jquery Ajax File Uploader这个组件下载地址:http://www.phpletter.com/download_project_version.php?version_id=6服务器端采用struts2来处理文件上传。所需环境:jquery.jsajaxfileupload.转载 2013-04-26 22:37:17 · 820 阅读 · 0 评论 -
关于struts2中Action实例
一直都说struts2.x与struts1.x有个很大的区别就是在struts1.x中Action是单例的而在struts2.x中是原型,即每次请求创建一个新的实例,但有一次发现并不这是这样,因为我没有传相应字段的值,但字段却有值了,后来在Action中打印System.out.println(this);打印出来hashcode是相同的,说明两次请求是同一个Action实例,后来发现这是因为st原创 2013-04-29 23:59:27 · 1049 阅读 · 0 评论 -
Spring AOP与struts1.x,struts2.x的结合
spring AOP用于做权限拦截是一个很好的选择.spring AOP其拦截的原理就是生成目标类的代理类对目标类应用通知(advice)通知类型有:前置通知后置通知最终通知例外通知环绕通知由各种通知的特点可知,只有环绕通知才适用于对目标类方法实施拦截。spring AOP生成代理类是通过JDK提供的Proxy这个动态代理类或CGLib生成动态代理,缺省情况原创 2013-06-29 14:30:11 · 2313 阅读 · 0 评论 -
struts2源码分析-IOC容器的实现机制(下篇)
以前看到一篇关于struts2-IOC容器实现的源码分析的博客(上篇),写得很经典,自己也从中了解了很多关于struts2-IOC容器初始化的东西,如果容器托管对象是什么,节点中为什么有了type属性还要有name属性,ContainerBuilder构建Container原理等。可惜博主只写了上篇,主要是讲解了IOC容器的初始化过程,而对从容器中获取容器托管对象以及注入原理一笔带过了。虽然博主说原创 2013-08-15 17:28:25 · 1417 阅读 · 2 评论 -
struts2数据同步原理
用过struts2的人都知道,struts2有个很大的特点就是可以不再面向Servlet API编程,从Action的方法签名就可以看出,其execut方法不接收任何参数,返回值也仅仅是String.从而实现与Servlet API的解耦,语法层面上脱离了Web容器。当要在Web层即控制器向视图层传递数据时,传统做法都是存储在HttpServletRequest、HttpServletSess原创 2013-10-10 12:48:58 · 2303 阅读 · 0 评论 -
struts2转换器详解
web层框架有一个很重要的功能就是接收从页面端提交过来的数据封装到JavaBean中,或者说会提供一种接收页面端提交的数据的机制。struts2作为一个web层框架当然也不例外,只是说各个web框架所提供的这种机制实现是不一样的,当然你不使用框架提供的数据接收机制而用Servlet中request.getParameter(name);也是可以的。 在struts2中我们接收页面端参数原创 2013-11-19 16:30:04 · 2110 阅读 · 0 评论 -
uploadify 3.2结合struts2的使用详解
首先说一下uploadify3已经没有swfobject.js这个文件了,已经嵌在了jquery.uploadify.js中,使用uploadify只需要其中的4个文件,分别是:uploadify-cancel.png、uploadify.swf、uploadify.css、jquery.uploadify.js或者jquery.uploadify.min.js。其中jquery.uplo原创 2013-06-20 18:35:38 · 3051 阅读 · 2 评论 -
struts2请求处理流程详解
struts2大概分为两块:一是struts2系统初始化,二是struts2处理请求,对请求作出响应。下面就说说个人对struts2对请求处理流程的理解:下面是StrutsPrepareAndExecuteFilter过滤器的doFilter方法中的主要代码:prepare.setEncodingAndLocale(request, response);prepare.createA原创 2013-10-07 22:03:13 · 4847 阅读 · 4 评论 -
struts2 18拦截器详解(二) --- ExceptionInterceptor
exception拦截器exception拦截器对应的类为com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor 该拦截器是struts2专门用于处理异常的,如果我们进行了异常配置,当struts2的执行出现异常后可以跳转到指定的Result,这也是struts2的异常处理机制。 下面看一下该拦截器的源码:原创 2013-10-28 17:53:40 · 5751 阅读 · 0 评论 -
struts2 18拦截器详解(一) --- 准备知识
准备知识 struts2作为一优秀的Web层框架,其拦截器机制更是让其如虎添翼,下面将详细介绍struts2内置的defaultStack中的18拦截工作原理其及功能。但讲解之前必须先了解struts2中拦截器的执行流程,以更好地理解各个拦截器的执行与功能。 struts2中拦截器与Action的执行调度即执行流程或者说执行顺序是由ActionInvocation来完成的(如原创 2013-10-28 16:04:31 · 3169 阅读 · 3 评论 -
struts2 18拦截器详解(二十) --- 拦截器总结
拦截器总结 拦截器是struts2中非常重要的组成部分,是struts2中极为精妙的一笔,struts2中很多功能都是通过这些拦截器实现,如:异常处理,文件上传请求参数赋值,数据校验等这些功能实现都在拦截器中。要深入理解拦截器,理解拦截器的执行流程是关键,这就需要对在拦截器执行过程中涉及的一些重要类要比较了解,尤其是ActionContext、ValueStack、ActionIn原创 2013-11-06 17:21:49 · 1936 阅读 · 1 评论