Blog信息 |
blog名称:小鸟吹烟 日志总数:157 评论数量:424 留言数量:-1 访问次数:1259371 建立时间:2006年10月23日 |

| |
[SSH 学习区]DispatchAction弊端 网上资源, 读书笔记, 软件技术
tone 发表于 2007/1/23 14:39:14 |
(网上看到的资料)
使用Struts DispatchAction弊端是,验证会在映射层(mapping level)激活。为了在list和edit
页面关闭验证。你必须单独建一个"validate=false"的映射。例如,AppFuse的UserAction有
两个映射:"/editUser"和"/listUser"。然而有一个更简单的方法,可以减少xml,只是多了一些
java代码。
1. 在"/user"映射中,添加validate="false" 。
2. 修改UserAction中的save()方法,调用form.validate()方法,如果发现错误,返回编辑页
面。
if (log.isDebugEnabled()) {
log.debug("entering 'save' method...");
}
// run validation rules on this form
ActionMessages errors = form.validate(mapping, request);
if (!errors.isEmpty()) {
saveErrors(request, errors);
return mapping.findForward("edit");
}
DynaActionForm userForm = (DynaActionForm) form;
当dispatchAction运行时,与附带一个属性的两个映射相比,这样更加简洁。但用两个映射
也有一些优点:
•验证失败时,可以指定转向"input"属性。
•在映射中可以添加"role"属性,可以指定谁有访问权限。例如,任何人都可以看到编辑
(edit)页面,但只有管理员可以保存(save)。 |
|
|