`
leiwuluan
  • 浏览: 695107 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

用于struts中的一个LazyValidatorForm

阅读更多

这个类是一个懒form为什么说是懒懒form呢?它不用像ActionForm在工程中建一个实例例form,从而不好管理,产生没有必要的代码?

 

一般在Action中得到的数据都 是据有完整性的。在实际开发当中,用户从jsp中输入数据。是否合法一般是通过ajax

 

验证的。而当数据进入Action是时。数据是完整的。所以ActionForm是多余的。

 

有人说可以DynaActionForm。这个类是不用在工程中建包和建类。但要在struts-config.xml中写上要用到的属性。

要用到多少属性,就要写多少个。一个工程下来就很乱了。

 

而LazyvalidatorForm 就不用建属性。但是要注意的是工写Action是里面的validate属性要改为false:不做观念更验证。

要通过ajax验证。

 

下面就用代码来说一说。lazyvalidatorForm的用法:

首先中struts-config.xml中配制一个(from-bean):
<form-bean name="testForm" type="org.apache.struts.validator.LazyValidatorForm"></form-bean>

 

在在action-mappings 中在配一个action

<action path="/testAction"
            name="testForm"
            type="com.action.TestAction"
            validate="false"
            />

一定记住validate一定 是false;

就上面这样struts-config就配完成了
然后接下来。我们来看一看在Action中怎样取值了:
LazyValidatorForm 第一部肯定是要把它强转了。然后再通过get();方法取了吗?

  LazyValidatorForm lvf=(LazyValidatorForm)form;
  String userName=(String)lvf.get("userName");
  String email=(String)lvf.get("email");
  String address=(String)lvf.get("address");

 
下面有我一个学习实例。就上面这样struts-config就配完成了

分享到:
评论
1 楼 gqzyyxh 2010-09-13  
你好,当这样LazyValidatorForm lvf=(LazyValidatorForm)form后用lvf去get一些属性,然后转换其他非String类型时总是报java.lang.ClassCastException,这是怎么回事呢?

相关推荐

Global site tag (gtag.js) - Google Analytics