ActionForm
来源:互联网 发布:标书生成软件 编辑:程序博客网 时间:2024/05/16 17:47
1、动态ActionForm
动态ActionForm是为了避免标准ActionForm膨胀而设计的,使用动态ActionForm可以获得标准ActionForm的所有功能。
- 在struts-config.xml文件中定义动态ActionForm,如:
<form-beans>
<form-bean name="dynaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String"/>
<form-property name="age" type="java.lang.Integer"/>
</form-bean>
</form-beans>
- 在Action中使用动态ActionForm,参见DynaActionFormTestAction.java
DynaActionForm daf=(DynaActionForm)form;
String username=(String)daf.get("username");
Integer age=(Integer)daf.get("age");
- 动态ActionForm其实是把页面中的html元素的名字和值放到了map中,所以通过get方法可以取出相应的值
- 动态ActionForm采用EL表达式的输出方式,${dynabean.map.prop},参见:dyna_actionform.jsp
- 动态Action的验证,通常使用动态验证框架validator
2、采用struts上传文件
- 页面的配置,如:
<form action="upload.do" method="post" enctype="multpart/form-data">
标题:<input type="text" name="title"><br>
文件:<input type="file" name="myfile"><br>
<input type="submit" value="提交">
</form
- ActionForm中使用FormFile来接受上传的文件,参见:UploadActionForm.java
- 在Action中调用FormFile取得上传文件数据,采用流输出,即完成上传,参见:UploadTestAction.java
- 采用<controller/>标签配置上传参数,如:<controller maxFileSize="10M"/>
3、空字段测试
- 在表单中没有input输入域,jsp脚本接受到的值为null,el表达式接受到的值为空串
- 如果表单中的值,没有输入,那么jsp脚本和el表达式接收到的值都为空串
4、测试ActionForm类型的自动转换
- boolean:yes,1,on,true都会转换成True类型,而且忽略大小写,其他情况转换成false
- Date类型的转换:
* 如果是java.sql.Date,页面日期的格式必须为yyyy-mm-dd,才可以转换
* 如果是java.util.Date,默认情况下struts无法转换
- 自定义转换器的实现步骤
* 实现converter接口,实现convert方法
* 将实现的conerter注册,通常情况采用servlet注册
* 采用servlet注册需要注意标签的配置,<load-on-startup>10</load-on-startup>(也可以采用struts plugin注册)
- Struts对ActionForm的自动搜集过程:
* 将页面数据放到map中,其中map中的key为页面中的名称,map中的value为页面中的value值
* 调用BeanUtils.setProperties方法,将map中的值逐个设置到ActionForm实例上,对于ActionForm中的每个属性根据类型调用 相应的Converter,然后调用相应的convert方法,将相应的的字符串转换成ActionForm中指定的类型
* 可以通过BeanUtils.copyProperties(目标对象,源对象)方法进行对象值的复制
- ActionForm
- ActionForm
- ActionForm
- ActionForm
- actionform
- ActionForm
- action -- actionform
- Struts ActionForm
- ActionForm校验
- 动态ActionForm
- 关于actionform
- 动态ActionForm
- 动态ActionForm
- ActionForm总结
- Struts1 ActionForm
- 动态ActionForm
- 创建ActionForm
- ActionForm本质
- 路径规划
- quartz调度框架在web中应用实例
- 基于VC++的GDI常用坐标系统及应用
- SkinSE免费换肤界面库
- 在word文档中锁定部分编辑区域
- ActionForm
- Main方法传递参数执行动态程序
- oracle的表的种类
- metro2033的4AEngine
- svn安装
- WinCE串口编程API函数(三)
- (违反并发性: UpdateCommand 影响了预期 1 条记录中的 0 条 )的原因
- RakNet的远程功能调用(RPC)客户端
- 需求捕获中的注意事项