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

struts1.2各种form详解

    博客分类:
  • J2EE
阅读更多
DynaActionForm
用配置代替Java类
<form-beans>
 <form-bean name="" type="org.apache.struts.actionDynaActionForm">
   <form-property name="userName" type="java.lang.String" initial="123"/>	
   <form-property name="age" type="java.lang.Integer" initial="0" />
   <form-property name="address" type="com.xx.Address" />
   <form-property name="interest" type="java.lang.String[]" initial="aa,bb" />
   <form-property name="skill" type="java.util.ArrayList" />
 </form-bean>
</form-beans>


// 属性不能是基本数据类型
// 取值方式不同, get("xxx"), getString("xx"),getMap()
// 用initial来部分替代reset

在相应的Action中
DynaActionForm loginForm = (DynaActionForm)form;
String userName = loginForm.getString("userName");
String password = loginForm.get("password").toString();


// List 填充的顺序不正确, 会有问题
不管是在一般的ActionForm里面还是DynaActonFrom里都会越界
所以要注意长度问题
setXXX(int index)
getXXX(int index)

在DynaActionForm只能用logicinterate和indexed="true" 来解决

终极解决方案: 用LazyValidateForm

DynaActionForm的好处:
减少代码量
坏处:
1,类型转换
2,reset方法和validate方法调不了了
3,不能继承
不够灵活,写的太多.
-----------------------
Map-backed ActionForm
一个Form走天涯
缺点:1,没有reset和validate方法
2,对结果集的支持不行
3,对页面有要求, 都要写成value(xxx)的形式.

---------------------------
LazyValidatorForm
三无产品:
1, 不需写Java类
2, 不需要配置属性
3, 对页面没有任何要求
4, 可以支持验证

DynaBean lazyForm = (DynaBean)form;
String userName = lazyForm.get("userName").toString();
Map friendMap = (Map)lazyForm.get("friend");
List skill = (List)lazyForm.get("skill");


DynaBean不是一个HashMap而是一个实实在在的Java类




















分享到:
评论

相关推荐

    低清版 大型门户网站是这样炼成的.pdf

    3.4.6 form标签详解 142 3.4.7 hidden标签详解 143 3.4.8 select标签详解 143 3.4.9 optgroup标签详解 144 3.4.10 optiontransferselect标签详解 144 3.4.11 password标签详解 146 3.4.12 radio标签详解 147 ...

    Struts in Action中文版

    1.2. 小结.......................................................................................................................36 2. 深入 STRUTS架构.....................................................

    struts in Action

    1.2. 小结.......................................................................................................................36 2. 深入STRUTS 架构......................................................

    javaeye热点阅读

    1.18 Struts2教程2:处理一个form多个submit 2. Ruby 2.1 Ruby on Rails环境下工作流的实现 2.2 让Ruby On Rails走进企业开发 2.3 让Ruby On Rails走进嵌入式开发2.4 用Ruby脚本抓取百度MP3新歌Top 100发布到闲聊3. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    3.3.3. bean属性及构造器参数详解 3.3.3.1. 直接量(基本类型、Strings类型等。) 3.3.3.2. 引用其它的bean(协作者) 3.3.3.3. 内部bean 3.3.3.4. 集合 3.3.3.5. Nulls 3.3.3.6. XML-based configuration metadata ...

    iuhyiuhkjh908u0980

    PrettyFaces: EL API访问PrettyContext 支持JSF 1.1 增强了错误页面和servlet重定向 PrettyFaces是一个JSF1.2和JSF2.0的扩展,用来创建便于书签收藏、漂亮的网址。 PrettyFaces优雅的解决了这个问题,包括诸如功能:...

    Spring 2.0 开发参考手册

    1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 ...

    spring chm文档

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

    Spring中文帮助文档

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    Spring API

    2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态语言支持 2.6.2. 增强的测试支持 2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 ...

    webx3框架指南PDF教程附学习Demo

    1.2. Webx的层次 ............................................................................................. 6 1.2.1. 三个大层次 .......................................................................

Global site tag (gtag.js) - Google Analytics