`
myoldman
  • 浏览: 84924 次
  • 性别: Icon_minigender_1
  • 来自: 福建福州
最近访客 更多访客>>
社区版块
存档分类
最新评论
文章列表
由于以前做的项目都是采用后发制人式的思维,碰到需要什么了再写什么代码. 比如说一个CRUD,一般都是先写出一个简单的框框,碰到需要分页了就加入分页组件,碰到需要校验了就加入校验的支持. 这样的写法虽然说看起来比较敏捷,但是如果几个项目下来还是采用这样的方法,就感觉写程序的效率上有一个瓶颈,速度上去不,速度快了bug又很多. 于是这次struts2实践为了避免或者说减少以上问题. 1.采用project做项目计划以及wbs,把系统分解成不同的模块. 2.利用测试驱动的方式编写代码,定号一个service的接口后,直接先开始写service的测试用例,确定service所实现的功能.至少保证这些功能 ...
主要的思路是后端数据查询api+action+tag的方式实现分页功能. 1.后端数据查询api 提供封装分页信息的类PageInfo(保存pageIndex,pageSize,totalRecord,querycondition等等的信息) 提供接收分页信息类的数据查询接口,该接口能根据分页信息类返回正确的分页结果) xxxDaoTemplate.find(PageInfo pageInfo,.........) 2.action层 设计一个action接口(PagerAwareAction?)提供操作有getPager,setPager 提供一个默认实现了PagerAwareAction的A ...
前一段时间一直都在看struts2的文档,上周终于看完并且总结完毕了。准备开始实践了。 初步计划如下 1.利用以前用.net做过的一个项目作为原始需求,这样能更关注于struts2各种功能的实践。 2.框架为spring2+struts2+Jpa(Hibernate)+sitemesh 选择以上框架的理由如下 spring框架提供了良好的配置式的事务和其他java周边(例如hibernate,mail,quartz等等的集成). Jpa是sun持久化方案的一个接口到时候便于替换持久层的实现。 用习惯了.net中的masterpage的强大功能,打算试试看sitemesh是不是很好用。 3.整个实 ...
1.泛型的概念. 泛型英文名为(Generic Type),从字面上就是通用化,一般化了的类型. 类似于类是对象的一种抽象,泛型可以说就是对类进行抽象. 2.泛型的语法 [list] 类型参数的形式化 在java5中利用<E>这样的语法来定义形式化类型参 ...
简要处理流程 HttpRequest-->ActionContextCleanUp(如果使用到sitemesh)->FilterDispatcher.doFilter(调用ActionMapper)->ActionMapper.getMapping(是否需要调用action处理页面请求)-->Dispatcher.serviceAction(调用ActionProxy包装的Action代理执行action)-->ActionInvocation.invoke(调用所有的before拦截器然后调用action本身的执行方法)-->如果有preresultlist ...
1.Handling File Uploads 采用FileUploadInterceptor实现文件上传操作. 定义struts.properties文件中的如下属性来实现一下参数的配置 struts.multipart.parser定义解析用户上传文件的库. struts.multipart.saveDir定义用户上传文件保存的路径. struts.multipart.ma ...
1.What are the fundamental differences between Struts and JSF Specifically, JSF is a "component" framework whereas Struts is an "action" framework. 总的来说,JSF,asp.net这种框架采用的是一种,类似于cs架构中的组件式,基于组建事件的编程风格. 而struts事基于action的框架,这里的action对于http来说应该可以理解为url,或者说是REST中的资源路径. 2.如何在页面上直接从流中显示图 ...
1.Overview 类型转化在struts2中的主要作用是把页面上符合ognl定义的控件的名字的输入值映射到action的相应字段中.以删除在servlet时代需要经常做的request.getParameter操作,并且利用ognl表达式甚至可以直接把页面上字段的值直接注入到act ...
1.Overview 支持国际化的模块:    1. the UI Tags    2. Messages and Errors from the ValidationAware interface (implemented by ActionSupport and ValidationAwareSupport)    3. Within action classes that extend ActionSupport through the getText() method 2.Resource Bundle Search Order(Resouc ...
1.Using Annotations(利用java5的标记实现验证) [list] 该方式的验证必须在class级别上声明@Validation()属性代码如下 @Validation() public class SimpleAnnotationAction extends ActionSupport { } 在字段的setter方法上定义验证的规则 field validation的声明方式 @RequiredFieldValidator(type = ValidatorType.FIELD, message = "You must enter a value for ...
1.主要功能&触发时间 该监听器主要在action的execute方法执行完以后,result.execute()方法执行前调用。 接口如下 public interface PreResultListener { void beforeResult(ActionInvocation invocation, String resultCode); } 在DefaultActionInvocation对应的调用如下 //判断是否还有拦截器未执行,如果还有则继续执行拦截器链 //这里通过把DefaultActionInvocation对象本身往后续拦截器中传递来实现 ...
1.主要功能 在Dispatcher对象init或者destroy的时候执行某些代码接口如下 public void dispatcherInitialized(Dispatcher du) { // do something to Dispatcher after it is initialized eg. du.setConfigurationManager(....); } public void dispatcherDestroyed(Dispatcher du) { ...
1.总览 action负责applicate state,result负责view状态的管理。 2.Chain Result 实现类为ActionChainResult.java 主要和ChainInterceptor配合用于Action Chaining 特点是把action的valuestack和prameters往下传。 3.Dispatcher Result [list] 实现类ServletDispatcherResult 可选 ...
1.顾名思义,该功能的主要目的是执行一连串的action方法,并且执行过程中并不进行实际上的页面跳转。 定义action的result type为chain定义 可以定义属性的actionName(所要调用的acton的名字), 定义namespace属性,确定action所属的namespace,skipActions中所有的action都无条件的执行,method属性(定义所调用action对象的方法,默认调用execute). 在ActionChainResult中把前一个action的valuestack,parameter,chain_histroy拷贝到下一个action的的con ...
1.实现Interceptor interface接口 该接口有三个方法 init() destroy() intercept() 2.线程安全 由于interceptor是单例的,并不向action那样每个request都创建一个一个action对象所以不存在线程同步的问题。 3.继承AbstractInterceptor抽象类 该类实现了默认的init和destroy方法,直接实现intercept方法即可。
Global site tag (gtag.js) - Google Analytics