struts2对对象的强大支持
来源:互联网 发布:网络卫星直播电视 编辑:程序博客网 时间:2024/06/11 16:22
在工作中发现struts2的强大功能,表为table1,字段有a、b、c、d、e五个字段,其中a、b为table1表的主键。在使用ssh2框架中,hibernate会为复合主键的表生成两个类,为
public class Table1{
private Table1Id id;
private String c;
private String d;
private String e;
....省去get、set方法
}
public class Table1Id{
private String a;
private String b;
....省去get、set方法
}
假设有以下使用场景,按条件查询table1表列表,在列表中有选择性的删除某些记录。这时肯定得往Action方法中传Table1表的主键,但是此表是复合主键,通常情况下我们前台会拼id字符串,在action中解析id字符串,但是复合主键如果特多的法会很麻烦,而且会越来越大,我们现在的项目就是一个七个字段的复合主键。我是这么做的。在jsp代码大体中如下。
<s:iterator value="listTable1" id="l" status="i">
<input type="checkbox" name="idList" value='<s:property value="#i.index/>"'/>
<input type="hidden" name='listTable1Id[<s:property value="#i.index/>"].a' value='<s:property value="#l.a/>"'>
<input type="hidden" name='listTable1Id[<s:property value="#i.index/>"].b' value='<s:property value="#l.b/>"'>
<s:property value="#l.c"/>
<s:property value="#l.d"/>
</s:iterator>
Action 大概如下
private List<String> idList = new ArrayList<String>();
private List<Table1Id> listTable1Id = new ArrayList<Table1Id>();
private List<Table1> listTable1= new ArrayList<Table1>();
public String del(){
for(String s : idList ){
Table1Id t = listTable1Id .get(s);
//调用service层根据主键删除主键的方法。
}
return SUCCESS;
}
这样就省去了组装串解析串的麻烦。前台循环后,提交的时候会依次把每个元素的Table1Id存到listTable1Id 中,这样我们只需要一个idList ,记录被选中的id,然后根据id从listTable1Id 取id就可以操作了
- struts2对对象的强大支持
- 对对象的理解
- STL对对象的排序
- Hibernate对对象的管理
- JavaScript的prototype对对象
- Redis对对象的操作
- Spring对对象的维护
- 对对象的简单操作
- struts对对象属性的监听
- 对对象的某些属性进行排序
- java List对对象的属性排序
- Java对对象的4种引用
- 构造、析构、继承对对象的影响
- unity编辑器对对象属性的编辑
- 拒绝了对对象的select权限
- JSON语法-对对象的简单定义
- 代理模式:控制对对象的访问
- Java堆中对对象的管理
- 变长参数引起的问题
- 轻轻松松 用U盘安装WIN7
- 好生意一年历程(5/10)
- MFC钩子简单应用
- sockaddr与sockaddr_in结构体简介
- struts2对对象的强大支持
- 小制作- -炫彩水晶钟 TOM搬家
- 类成员函数大小问题
- delphi中如何让主窗体在程序运行之初不显示
- 两道算法题
- 函数调用约定( __cdecl + __stdcal + __fastcall )
- cudaMallocPitch()使用
- cTex——cls文件的使用方法
- 学习SqlDataAdapter——【之二】