java xwork_xwork.xml配置说明

/p>

PUBLIC

"-//OpenSymphony Group//XWork 1.0//EN"

"http://www.opensymphony.com/xwork/xwork-1.0.dtd">

/success.jsp

/success.vm

/formSuccess.jsp

/form.jsp

活动是WebWork的基本工作单元, 它正是定义了活动. 活动通常有一个请求(通常是点击按钮, 或提交表单). 主要的action元素有两部分, 友好的名字(在URL中引用, 如saveForm.action)和对应的"处理(handler)"类.

可选的"method"属性告诉WebWork应当调用活动的哪个方法. 如果你不填写method属性, WebWork缺省调用execute(). 如果活动没有execute()方法, 也没有在xml中指定method属性, WebWork将抛出异常.

同样, 你也可以在表单中指定"actionName!something"来告诉WebWork调用"doSomething"方法. 例如, "formTest!save.action"将调用FormAction的"save"方法. 该方法必须是public且没有参数:

public String save() throws Exception

{

...

return SUCCESS;

}

活动的所有配置都可以用在"actionName!something"中(截取器, 结果类型等)

/form.jsp

A

B

Result元素告诉WebWork活动执行后下一步该做什么. "name"属性对应活动execute() 方法返回的结果代码. "type"属性表示使用哪个结果类型(参见结果类型). 可以使用"param"元素向视图传递参数:

....

class="com.opensymphony.webwork.dispatcher.HttpHeaderResult"/>

204

A

B

下面是WebWork内置的标准结果代码(定义在Action接口中), 包括:

Action.SUCCESS = "success";

Action.NONE = "none";

Action.ERROR = "error";

Action.INPUT = "input";

Action.LOGIN = "login";

你可以扩充你认为适合的结果代码(如"missing-data"). 大多数情况下你只需使用SUCCESS和ERROR, SUCCESS将前进到下一个页面.

如果你只需要指定"location"属性, 可以使用简写形式:

/form.jsp

截取器允许定义活动执行前后的代码. 截取器是编写Web应用的强大工具. 一些最常用的实现是:

安全检查(确保用户已登陆)

跟踪纪录 (记录每一个活动)

检查执行瓶颈 (在活动前后启动计时器, 以检查应用瓶颈)

也可以将截取器连接起来创建一个截取器栈. 如果你想完成登陆检查, 安全检查, 并记录每个活动调用, 使用截取器栈会十分容易.

必须先定义截取器(给它命名)然后才能联接成栈:

要在活动中使用它们:

...

注意: 可以引用拦截器或栈的名字

更多细节参见截取器.

WebWork支持JSP和Velocity作为应用表示层. 本例使用JSP文件. Webwork附带了标签库(taglibs). 你可以在JSP中项组件一样使用标签库.下面是form.jsp的片断:

Webwork Form Example

处理经过如下:

WebWork监控以.action结尾的URI(定义在web.xml中)

WebWork在活动定义中查找活动formTest.

WebWork创建formTest并调用com.opensymphony.webwork.example.FormAction的方法processForm(定义在xwork.xml中).

该方法处理成功并返回SUCCESS

WebWork将返回值SUCCESS转换成地址formSuccess.jsp(定义在b class="strong">xwork.xml中)并执行重定向.

为了易于管理大规模开发活动(包含大量活动和配置), WebWork允许在xwork.xml中包含其他配置文件 :

....

被包含文件必须与xwork.xml的格式相同(具有相同的doctype及其它)并放置在类路径中(通常位于/WEB-INF/classes或/WEB-INF/lib的jar文件中).

posted on 2007-04-14 14:26 朱岩 阅读(1315) 评论(0)  编辑  收藏 所属分类: webwork文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值