`
yunchow
  • 浏览: 317750 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

struts1.2验证框架续

    博客分类:
  • J2EE
阅读更多
struts 验证
代码级验证:ActionForm, ActionErrors validate(),
1, new ActionErrors
2, 进行验证
3, errors.add("xx",new ActionMessage(xxx))
4, saveErrors(request, errors);
saveMessages(request, errors);
<html:messages message="true|false/*取错误还是消息*/" id property />

框架验证:1,资源文件,里面有错误消息
2,validation.xml / validator-rules.xml
DTD是从validator-rules.xml拷过来的.
3,ActionForm基类
ValidatorForm, validatorActionForm,DynaValidatorForm,DynaValidatorActionForm.
凡是加了action的,那么在validation.xml中的form的name为action的path,否
则是action的name.
4,去掉validate()
5,action配置里保证validate是true
6,struts-config.xml中加<Plug-in>
validation.xml配置:
<form-set>
  <form name="action.name|action.path">
    <field property="xx/a[1]" depends="">
      <arg name="哪一个验证规则,不写对所有的验证规则" key="" resource="true|false" />
      <msg name="哪一个验证规则,不写对所有的验证规则" key="" resource="true|false" />
      <var>
	<var-name>minlength,maxlength,mask,validwhen(*this*==123,"123",password)->test,intRange->min/max,required,email />
	<var-value>
    </field>
  </form>
  <form>
  </form>
</form-set>
自定义验证规则,修改validator-rules.xml
classname=""
method=""
public static boolean validateXXX(Object bean,Field field,...
类Resources.getActionMessage(...
----------------------------------------------------------------------------
DispatchAction(分发Action)
public class CompulateAction extends DispatchAction {
  // 分发类Action是不写execute方法的.
  // DispatchAction的对应关系:页面表单里有隐藏表单域name为a
  // 在struts-config.xml中的对应的action的配置段中其parameter也为a.
  // 页面提交时, 其隐藏表单域a的值就对应方法名.
  public ActionForward add(ActionMapping mapping,
		ActionForm form,
		HttpServletRequest request,
		HttpServletResponse response
		throws Exception {
    return null;
  }
}
---------------
LookupDispatchAction

// LookupDispatchAction
// 需要用到资源文件做桥梁, 来完成页面的提交按钮和方法名之间的对应关系.
// 在struts-config.xml中把对应的action的配置段中其parameter值为提交按钮的名字.
ApplicationResource.properties:
label.add=+
label.sub=-
label.multi=*
label.div=/

页面(必须要用struts标签):
<html:submit property="method">
  <bean:message key="label.add" />
</html:submit>


protected Map getKeyMethodMap() {
  Map rtn = new HashMap();
  rtn.put("label.add", "add");
  rtn.put("label.sub", "sub");
  rtn.put("label.multi", "multi");
  rtn.put("label.div", "div");
  return rtn;
}
----------------
// MappingDispatchAction和DispatchAction的代码是完全一致的
// 不同的方法可能对应不同的Form和Forward
// 思路:在struts-config.xml中分为逻辑上独立的一些Action.
// 此时action配置段中的其parameter值就是方法名.
// 可以对不同的方法做不同的验证.
// 对于验证框架, 这是最优先的选择.
-------------------
EventDispatchAction

<action .. parameter="save,back,recalc=recalculate.default=save"/>

public DynaBean getUserById(Integer id) {

  LazyDynaBean rtn = new LazyDynaBean();
  List<User> userList = dao.findByProperty("userId", id);
  if(userList!=null && userList.size()>0) {
    rtn.set("userId", userList.get(0).getUserId());
  }
}

// 我们欺骗一下struts
DynaBean rtn = service.getUserByid();
request.setAttribute("userForm" rtn);
------------------------------------------------
如何做DispatchAction验证
MyFieldChecks类:
修改ActionServlet和init方法.







分享到:
评论

相关推荐

    struts1.2验证框架示例

    struts1.2 验证框架示例 详细的写明了每一步骤

    Struts1.2中的validation验证框架的实现步骤

    Struts1.2中的validation验证框架的实现步骤

    struts1.2框架验证实例

    一个可以完整的实例,包含两个配置文件,是struts1.2

    struts1.2 validate 源代码 实现

    struts1.2 validate 源代码 实现 下载,myeclipse 下struts1.2框架下validate 表单验证,简单例子,功能已经实现

    Struts1.2动态表单注册 验证实例(2)

    运行平台MyEclipse 用struct1.2 实现最基本的功能 动态表单 验证框架的注册实例

    Hibernate3.1+Struts1.2+Spring2.5整合小项目

    JavaEE SSH框架整合小例子 开发框架 Hibernate3.1+Struts1.2+Spring2.5 表单验证 JQuey框架

    Struts1.3 Validator 验证框架校验Email 例子

    Struts1.3 与1.2向比验证框架部分还是有所区别的,该例子通过一个简单的Email的校验,演示如何通过Struts Validate验证框架进行在页面中生成JavaScripte脚本,进行客户端校验。下完后记得评分,资源分就会回来,还能...

    VCE远程教育(struts1.2-hibernate3.1-spring2.0+sqlserver2005)

    利用ssh框架完成远程教育系统.实现功能基本的数据库操作增删改查 以及分页,遍历发帖回帖,validate验证框架等技术

    精通Struts基于MVC的Java Web设计与开发 孙卫琴 光盘

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    精通 Struts:基于 MVC 的 JavaWeb 设计与开发(PDF)

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    精通Struts_基于MVC的Java Web设计与开发

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    精通struts:基于mvc的java web设计与开发part3

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    精通struts:基于mvc的java web设计与开发part2

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    网上书店、网上银行、虚拟基金交易平台(三个项目源码)

    虚拟基金交易平台(提供了基本的功能,使用的技术为:Struts1.2+Hibernate3.1+AJAX。 其中又用到了Tiles框架,Validator验证框架, Action采用DispatchAction, 所有的表单Bean采用动态验证表单...

    精通struts:基于mvc的java web设计与开发part1

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    ssh框架实现通讯录

    写的比较简陋,,基于struts1.2+spring2.0+hibernate3.1框架 基本功能: 注册,登陆,添加联系人,按类别查找联系人,删除联系人,登出 表单输入使用validate框架验证,权限管理使用 Filter+action拦截器,...

    validator-rules.xml,validation.xml

    struts1.2使用的validate验证框架的validator-rules.xml配置文件

    基于MVC的java Web设计与开发

    本书详细介绍了在最新的Struts1.1以及不久将推出的Struts1.2版本上设计和开发Java Web应用的各种技术。本书第1章到第3章为入门篇,通过两个Struts应用实例,引导读者把握设计、开发和部署Struts应用的整体流程,充分...

    Struts2 in action中文版

    10.1.2 Struts 2工作流中的验证框架 219 10.2 将动作关联到验证框架 222 10.2.1 使用ActionClass-validations.xml声明验证元数据 223 10.2.2 研究内建的验证器 226 10.3 编写自定义验证器 227 10.3.1 检查密码强度的...

    java MVC 例子

    此MVC例子是模仿struts1.2版本,手动写的框架。有利于初学者对struts框架的理解。包含国际化,表单验证的功能。

Global site tag (gtag.js) - Google Analytics