摘要:
Struts2验证机制Action组件要求实现Validateable接口,覆盖其validate()方法,编写有关验证代码还要实现ValidationAware接口,该接口提供了添加错误消息的方法addFieldError()一般继承ActionSupport类,其实现了上述接口。Struts2验证工作原理workflow拦截器首先检查Action组件是否实现接口Validateable,如果实现,则调用其validate()进行验证,在验证中如果发现非法数据则创建错误消息并通过ValidationAware接口中方法存放该错误消息。当validate()执行完毕,workflow拦截器还要 阅读全文
随笔分类 - Struts2
Struts2 零配置注意事项
2012-05-30 17:50 by myjava2, 624 阅读, 收藏,
摘要:
命名空间:@Namespace当出现@Namespace时,它会取代当前所有Action的名空间。例:当一个LoginAction在org.hzy.actions.xx下面中,其命名空间是/xx,(其LoginAction方法名叫login())访问路径:http:localhost:8080:/struts2/xx/login,出现@Namespace("/aa"),则其名空间是/aa,访问/xx/login则找不到,而是/aa/login访问路径:http:localhost:8080:/struts2/aa/login,@Action当@Action中最前面出现&qu 阅读全文
struts2上传文件
2012-05-29 18:38 by myjava2, 3109 阅读, 收藏,
摘要:
转自:http://ryxxlong.iteye.com/blog/809863一、struts2上传单个文件第一步:确保在WEB-INF/lib在commons-fileupload-x.x.x.jar、commons-io-x.x.x.jar两个jar文件。这两个文件可以从struts2下载文件中的lib中找到,或者到http://commons.apache.org/下载。第二步:把form表的enctype设置为:"multipart/form-data",method设置成"post"如下:Html代码<formenctype=" 阅读全文
Struts2与Struts1.x的深度比较
2012-05-28 17:43 by myjava2, 217 阅读, 收藏,
摘要:
转自:http://tech.it168.com/oldarticle/2007-07-13/200707131009859_4.shtmlStruts2和Struts1.x的全面比较特性Struts1.xStruts2Action类Struts1.x要求Action类要扩展自一个抽象基类。Struts1.x的一个共有的问题是面向抽象类编程而不是面向接口编程。Struts2的Action类实现了一个Action接口,连同其他接口一起来实现可选择和自定义的服务。Struts2提供一个名叫ActionSupport的基类来实现一般使用的接口。当然,Action接口不是必须的。任何使用execute 阅读全文
struts2 Convention Plugin Configuration reference
2012-05-24 14:00 by myjava2, 409 阅读, 收藏,
摘要:
Add aconstantelement to your struts config file to change the value of a configuration setting, like:<constant name="struts.convention.result.path" value="/WEB-INF/mytemplates/"/>
NameDefault ValueDescriptionstruts.convention.action.alwaysMapExecutetrueSet to false, to prev 阅读全文
struts2-convention-plugin Annotation(零配置中的注解)
2012-05-24 09:00 by myjava2, 502 阅读, 收藏,
摘要:
一、Convention的Annotation1) 与Action相关的两个Annotation是@Action 和@Actions2) @Action中可指定一个value属性。类似于指定<action name=””/>属性值3) @Action中还可以指定一个params属性,该属性是一个字符串数组,用于该Acion指定的参数名和参数值。params属性应遵守如下格式:{“name1”,”value1”,”name2”,”value2”}4) @Actions 也用于修饰Action类里的方法,用于将该方法映射到多个URL.@Actions用于组织多个@Action.因此它可 阅读全文
Struts2 struts2-convention-plugin(零配置)基础
2012-05-24 08:59 by myjava2, 205 阅读, 收藏,
摘要:
零配置并不是没有配置,而是通过约定大于配置的方式,大量通过约定来调度页面的跳转而使得配置大大减少。一、如何使用Convention1. 将struts-Convention-plugin-2.1.6.jar文件复制到WEB-INF/lib路径下2. 对于Convention插件而言,它会自动搜索位于action,actions,struts,struts2包下的所有java类,Convention插件会把如下两种java类当成Action处理:(1) 所有实现了com.opensymphony.xwork2.Action接口的java类(2) 所有类名以Action结尾的java类3. 映射A 阅读全文
Struts2 自定义拦截器(方法拦截器)
2012-05-23 11:26 by myjava2, 371 阅读, 收藏,
摘要:
转自:http://05061107cm.iteye.com/blog/365504struts2系统自带了很多拦截器,有时需要我们自己定义,一般有两种方式:一、实现Interceptor接口Java代码publicinterfaceInterceptorextendsSerializable{publicvoidinit();publicvoiddestroy();publicStringintercept(ActionInvocationinvocation)();}实现上述方法二、继承AbstractInterceptor类,重写intercept()方法即可 此方法更可行,其实Abst 阅读全文
Result Types
2012-05-21 12:18 by myjava2, 211 阅读, 收藏,
摘要:
转自:http://blog.csdn.net/struts2/article/details/1731386第八章 Result Types一个提交到服务器的处理通常可以分为两个阶段,第一个阶段查询服务器状态(查询或者更新数据库),第二个阶段选择一个合适的结果页面其返回给用户(这里要讲的Result的内容)。Struts2提供了对不同种类返回结果的支持,常见的有JSP,FreeMarker,Velocity等。Struts2支持的不同类型的返回结果为:名字说明Chain Result用来处理Action链Dispatcher Result用来转向页面,通常处理JSPFreeMarker Re 阅读全文
Struts2 Action与ServletAPI的解耦、耦合
2012-05-19 16:41 by myjava2, 2654 阅读, 收藏,
摘要:
转自:http://blog.csdn.net/jadyer/article/details/5887488单元测试在开发中是非常重要的一个环节程序员在写完代码时,相应的单元测试也应写完整,否则你的代码就是不能让人信服的Struts2将Action与Servlet的API进行解耦之后,就使得单元测试变得非常容易了比如HttpServletRequest对象,它是由Tomcat容器给我们提供的,我们自己产生不出来若Action中充斥者ServletAPI,哪怕仅一个,那么一般意义上的JUnit单元测试便无法进行若Action中耦合了ServletAPI,可以采用apache的Cactus对它进行 阅读全文
Struts2 Action多方法调用
2012-05-19 16:32 by myjava2, 209 阅读, 收藏,
摘要:
Action多方法调用 方式一: 在struts.xml中的action标签中添加method值如: <!-- 没有method属性值则这是MyTestAction默认的调用方法即execute方法将被调用 --> <action name="myTest" class="com.mengya.action.MyTestAction"> <result name="success">/index.jsp</result> </action> <!-- method属性值 阅读全文
Struts2体系原理图以及详解
2012-05-19 16:18 by myjava2, 204 阅读, 收藏,
摘要:
Strut2的体系结构如图所示:一个请求在Struts2框架中的处理大概分为以下几个步骤:1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求;2、这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin);3、接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请求是否需要调用某个Action;4、如果ActionMapper决定需要调用某个Action,Fi.. 阅读全文
浙公网安备 33010602011771号