`
yunchow
  • 浏览: 324421 次
  • 性别: 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验证框架示例

    ### Struts 1.2 验证框架示例解析 #### 概述 在Web开发过程中,表单数据的有效性验证至关重要。...这对于初学者来说是非常有用的实践指导,有助于理解和掌握Struts 1.2验证框架的基本用法和配置方式。

    struts、struts1.2 学习教程

    Struts1.2是该框架的一个早期版本,虽然现在已经被Struts2所取代,但在许多遗留系统中仍然广泛使用。本教程将深入探讨Struts1.2的核心概念、功能以及与Struts2的区别。 一、Struts框架基础 1. **MVC模式**:Struts...

    struts1.2下载包

    Struts1.2是Apache软件基金会的一个开源项目,它是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架。这个框架的主要目的是为了简化开发过程,提高代码的可维护性和可重用性。在JSP中,Struts...

    struts1.2框架验证实例

    Struts1.2框架是一个基于MVC(Model-View-Controller)设计模式的Java Web开发框架,它在Java社区中广泛使用,特别是在早期的Web应用开发中。本实例旨在帮助开发者理解并掌握如何在实际项目中运用Struts1.2进行表单...

    struts 1.2 ActionFrom表单验证

    总的来说,深入理解Struts 1.2的ActionForm表单验证机制,以及它与Spring框架的集成,将有助于提升你在Java Web开发领域的专业技能。这包括熟悉MVC模式、客户端与服务器端验证策略、Struts配置文件、Spring的依赖...

    struts1.2 jar包

    9. **Validator框架**:内置的验证框架可以帮助开发者方便地验证用户输入,确保数据的完整性和有效性。 在`struts1.2-jars`这个压缩包中,包含了Struts1.2运行所需的各个jar文件,比如`struts-core.jar`包含了框架...

    struts1.2 from表单提交包含list的对象

    在开发工具方面,IDE如Eclipse或IntelliJ IDEA可以提供强大的Struts1.2支持,包括代码自动完成、配置文件验证以及调试功能。此外,使用Maven或Ivy等构建工具可以帮助管理Struts1.2及其依赖,使得项目更加模块化和可...

    struts1.2标签实例

    Struts1.2标签库包含了一系列与ActionForm、Action、Message资源、表单验证、国际化等相关的标签,这些标签使得开发者能够更高效地构建用户界面。例如,`&lt;s:textfield&gt;`用于创建输入字段,`&lt;s:submit&gt;`用于提交表单...

    struts 1.2 类库和源码

    Struts 1.2 是一个历史悠久的Java Web框架,由Apache软件基金会开发,它在Web应用开发领域曾经占据了重要的地位。这个压缩包包含了Struts 1.2版本的类库和源码,使得开发者能够方便地研究和学习这个经典框架的工作...

    struts1.2.jar包

    9. **Validator框架**:Struts1.2内置了Validator框架,用于验证用户输入的数据,确保其有效性,从而防止非法数据进入系统。 10. **源码分析**:提供源码对于开发者来说是一个宝贵的资源,可以帮助他们更好地理解...

    Struts 1.2 API详细讲解.rar

    9. **Validator**:Struts 1.2包含了一个验证框架,用于在客户端和服务器端验证用户输入的数据,确保其合法性和完整性。 10. **Tiles和Struts标签库**:Struts提供了丰富的JSP标签库,如logic、bean、html、tiles等...

    struts1.2 简单文件上传例子

    Struts1.2是一个经典的Java Web框架,由Apache软件基金会开发。它提供了MVC(Model-View-Controller)设计模式的实现,使得开发者能够更方便地构建可维护、可扩展的Web应用程序。在这个"struts1.2简单文件上传例子...

    基于Struts1.2的上传下载Demo

    Struts1.2是一个经典的Java Web开发框架,它在早期的Web应用开发中扮演了重要角色,尤其是在MVC(Model-View-Controller)设计模式的实现上。本项目"基于Struts1.2的上传下载Demo"是针对该框架的一个实践示例,旨在...

    struts1.2拦截器使用插件

    Struts1.2是Apache软件基金会的Jakarta项目下的一个开源框架,主要用于构建基于Java的Web应用程序。在Struts1.2中,拦截器(Interceptor)是一个非常关键的组件,它实现了AOP(面向切面编程)的概念,使得开发者可以...

    struts1.2+spring2.0 登录 例子

    Struts1.2和Spring2.0是两个经典的Java企业级开发框架,它们在Web应用程序开发中被广泛使用。这个“struts1.2+spring2.0 登录例子”是一个整合了这两个框架的示例项目,旨在帮助开发者理解如何在实际应用中集成和...

    struts1.2-jars.rar 所有jar包

    Struts1.2 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,由Apache软件基金会开发并维护。这个框架的主要目的是为了简化Web应用开发过程,提高可维护性和可扩展性。在"struts1.2-jars.rar...

    Struts1.2

    11. **Plug-in机制**:Struts1.2支持插件,可以方便地扩展功能,如Validator插件用于验证表单数据。 12. **ModelDriven接口**:一种简化Action类设计的模式,允许Action类只关注业务逻辑,模型对象的获取和设置交由...

    Struts1.2+Spring1.2+Hibernate3.0企业人力资源管理系统

    Struts1.2作为表现层框架,主要负责处理用户的请求,控制应用的流程。它通过ActionForm来封装用户提交的数据,再通过Action转发到相应的业务逻辑处理类。Struts的配置文件定义了URL与Action的映射,使得系统具有良好...

Global site tag (gtag.js) - Google Analytics