webwork根据条件退出一个c:forEach循环
Published by admin on 07月 11, 2010在项目中碰到这么一个问题,判断群组id.如果群组id中包含4就执行一段代码,而不包含则执行另一段代码。在action中已经获取到了当前用户的所有群组id.在webwork中进行判断.
刚开始还以为webwork中有类似于indexOf的功能.可是在实现时却发现根本没有这样的功能,没办法看来只有使用循环了.
Read the rest of this entry »
在项目中碰到这么一个问题,判断群组id.如果群组id中包含4就执行一段代码,而不包含则执行另一段代码。在action中已经获取到了当前用户的所有群组id.在webwork中进行判断.
刚开始还以为webwork中有类似于indexOf的功能.可是在实现时却发现根本没有这样的功能,没办法看来只有使用循环了.
Read the rest of this entry »
<c:foreach>类似于for和foreach循环 以下是我目前见过的用法:
1、循环遍历,输出所有的元素。
<c:foreach items=”${list}” var=”li”>
${li}
</c:foreach>
注意:items 用于接收集合对象,var 定义对象接收从集合里遍历出的每一个元素。同时其会自动转型。
2、循环遍历,输出一个范围类的元素。
Read the rest of this entry »
WebWork标签库分为七大类:
通用标签: 最常用, 最基本的标签;
组件化标签: 鼓励视图的组件化;
流程控制标签: 在JSP页面中管理控制流程;
迭代标签: 迭代元素并操作可迭代(iterable)的对象;
UI标签: 生成HTML表单字段和控件;
Read the rest of this entry »
fmt:formatDate 的输出格式
<fmt:formatDate value=”${isoDate}” type=”both”/>
2004-5-31 23:59:59
<fmt:formatDate value=”${date}” type=”date”/>
2004-4-1
<fmt:formatDate value=”${isoDate}” type=”time”/>
23:59:59
Read the rest of this entry »
Interceptor(拦截器)将Action共用的行为独立出来,在Action执行前后运行。这也就是我们所说的AOP(Aspect Oriented Programming,面向切面编程),它是分散关注的编程方法,它将通用需求功能从不相关类之中分离出来;同时,能够使得很多类共享一个行为,一旦行为发生变化,不必修改很多类,只要修改这个行为就可以。
Interceptor将很多功能从我们的Action中独立出来,大量减少了我们Action的代码,独立出来的行为具有很好的重用性。XWork、WebWork的许多功能都是有Interceptor实现,可以在配置文件中组装Action用到的Interceptor,它会按照你指定的顺序,在Action执行前后运行。Interceptor在框架中的应用如下图所示
Action的单元测试
理解了ServletDispatcher,我们就明白了整个框架调用执行的顺序。Action虽然是与Web无关,可是它的创建、参数设置、执行与 我们的WebWork、XWork紧密关联在一起,有我们的控制器ServletDispatcher去统一调度,那我们如何去对Action进行独立的 单元测试呢?
请看下面的例子:使用单元测试框架JUnit对register.User. RegisterAction做单元测试
Read the rest of this entry »
WebWork介绍
WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,现在的WebWork2.x前身是Rickard Oberg开发的WebWork,但现在WebWork已经被拆分成了Xwork1和WebWork2两个项目,如下示意图所示:
Xwork简洁、灵活功能强大,它是一个标准的Command模式实现,并且完全从web层脱离出来。Xwork提供了很多核心功能:前端拦截机 (interceptor),运行时表单属性验证,类型转换,强大的表达式语言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。
WebWork2建立在Xwork之上,处理HTTP的响应和请求。WebWork2使用ServletDispatcher将HTTP请求的变成 Action(业务层Action类), session(会话)application(应用程序)范围的映射,request请求参数映射。WebWork2支持多视图表示,视图部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。
下面我们提到的WebWork将为WebWork2,使用的版本是2.1。
Read the rest of this entry »
Action简介
Action在MVC模式中担任控制部分的角色, 在WebWork中使用的最多,用于接收页面参数,起到对HttpRequest判断处理作用。每个请求的动作都对应于一个相应的Action,一个Action是一个独立的工作单元和控制命令,它必需要实现XWork里的Action接口,实现Action接口的execute()方法。Action接口的代码如下:
Read the rest of this entry »
ebWork是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架。
WebWork2的特性包括:
灵活的Validation框架:允许你在XML文件中定义验证内容,在运行时通过Interceptor自动应用,因此完全脱离Action类。新版支持客户端验证。
Type conversion:允许你在类之间很容易转换对象。
Read the rest of this entry »