2024-04-29 08:19:36
dao方法
public List getAUserList(){
Session session = super.getSession();
Query query = session.createQuery(hql);
。。。
public abstract class AbstractAction extends ActionSupport implements SessionAware {
protected Map session;
public void setSession(Map session) {
this.session = session;
}
你那个session是查询的session,我说的是session域,就像request域,但是适用范围比request大,在select里面session.put("list",list);然后在insert里面list = session.get("list");
用您的方法的确可以拿到list中的对象了,可是拿的是select方法传过去的list,list中数据没有做过修改;我需要的list中的对象,在jsp页面这边有做过修改的,传给insert的是修改后的list对象的,这个怎么解决呢
那你的select和insert就是毫无关系,select用来向页面传递数据,insert用来从页面取数据
' name="userEdit" value=''>
var data = "";
$("input[name='userEdit']").each(function(){
var user = $(this).attr("id") + "_" + $(this).val();
data = data + "," + user;
});
location.href = "xxx.action?data=" + data;
这里就是给你提供一个思路,页面显示list的时候用name划定list的范围,就是方便你用name属性找到所以需要的list,同时要保留user的id,因为你操作数据库都需要用到,接下来就是需要显示的实际数据了,也要坚持显示的同时保证自己能很方便的用js取到的原则,最后在表单提交前用js把你需要的数据收集起来组成字符串,json的原理其实也是组合字符串,然后后台action取到字符串后用split拆分组成User对象。同一个模块的每一次页面跳转都是首尾连接的,你要时刻注意下一次跳转需要从这次跳转中取到什么数据,这些数据需要你在页面上整理好以方便js取到,传递给下一次跳转,而不是简单的只关注这次的页面有没有成功显示
问题解决了,是struts标签的迭代器的问题
].age" size="30" value="${result.age}"/>
这样取就好,
2024-04-29 15:23:09
请问下,这个标签写在哪里呢
2024-04-29 08:34:57
2024-04-29 11:30:10
2024-04-29 12:38:50
2024-04-29 12:31:30
用您的方法改后,后台action中insert方法里得到的list有null变为了[],list的长度是0,也就是说,jsp中的list对象没放到list里面,用那位网友的sessoin传到时能传成功,可是老大不建议session传,说开销会大,