Struts的ActionForm中不同类型属性的使用方法总结

本文介绍了在Struts框架中如何处理不同类型的表单数据,包括字符串、数组、持久化对象、双维数组及Map等,并提供了具体的代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平时做些多表格表单显示时,actionform中经常会用到些数组或多重数组属性,map的情况,下面把我平时用到的几种总结一下:

假定actionform名为myForm.java 在sturts-config.xml中定义名也为 myForm 
1.字符串或简单类型属性  
myForm.java 中定义为  private String abc;  (get ,set 方法略)
页面上: <bean:write name="myForm" property="abc" /> (显示abc中存储的内容)
2.数组属性
myForm.java 中定义为  private String[ ] array;  (get ,set 方法略)
页面上: <bean:write name="myForm" property="array[4]" /> (显示数组array中第5个对象的值)
3.持久类对象属性
myForm.java 中定义为  private  Pojo pj = new PoJo();  (get ,set 方法略)
页面上: <bean:write name="myForm" property="pj.item" /> (显示对象pj中item属性的值)
如果pj对象未实例化, 将会抛出一个java.lang.IllegalArgumentException: No bean specified 的异常
4.双维数组属性
myForm.java 中定义为  private  List result_list ;  (get ,set 方法略)
result_list 中每一项存储的内容为一数组
页面上: 
<logic:iterate id="result" name="showResultForm" property="result_list" >
<bean:define id="resultArray" name="result" type="String[ ]"></bean:define>
<%=resultArray[0] %>
<%=resultArray[1] %>
<%=resultArray[2] %>
</logic:iterate>
循环显示result_list中每个数组中的前三项.
5.Map属性
myForm.java 中定义为 :
private Map map=new HashMap();
private Object value;

public Map getMap() {
return map;
}
public void setMap(Map map) {
this.map = map;
}
public Object getValue(String key)throws Exception {
return getMap().get(key);
}
public void setValue(String key,Object value) {
this.value = getMap().put(key, value);
}
页面上: 
<bean:write name="myForm"  property="value(key)" />
其中key为你在action里setValue(key,Object)中的key
例如我在action中 
MyForm myForm=(MyForm )form;
myForm.setValue("0101","abc");
页面上  
<bean:write name="myForm"  property="value(0101)" />(这里再次说明我了,我以前发的一篇文章里关于property是取的方法名字去掉set/get后第一个大写字母变小写的名称。其实就是调用的方法。而El表达式才是真正取的Form里的属性。)
显示abc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值