现在需求是这样的,后台从3张表中查询出一批数据,(用了一个实体类来影射所有查询出来的字段)然后将所需的数据显示在页面上
比如:
字段1                  字段2               字段3                          字段4
1                        xxx                 xxx                           10
2                        xxx                 xxx                           90
.....
等等数据,其中,前三个字段直接显示出来,第四个字段也就是字段4 使用<input>来显示,因为第四个字段有可能需要修改,
字段2,和字段3 被设计为 一个联合主键,
现在要求是这样,这个页面上除了这些显示出来的数据外,只有一个 “提交” 按钮,当点击提交的时候,如何字段4 有数据被修改 那么就需要在后台进行修改,如何没有,就需要保持原样,请教各位前辈,这个需求如何实现?谢谢
框架是s2sh + freeer + oracle数据库,多谢!!!

解决方案 »

  1.   

    可不可以用struts中<s:textfield name = "" namespace = "" ></s:textfield>
    来实现数据回显的
      

  2.   

    对这个input增加事件 onchange ,如果被修改过了,使用一个js变量保存下来,多个input可以组装一个能够在java代码中识别的串试试看
      

  3.   

     当字段4发生onchang事件时,将这条记录放到json串中(假设字段1是主键):
    [{字段1:xxx,字段4:newvalue},...]
    提交时,将json串送到服务端,再通过json工具反系列化为list集合,批量更新即可。
      

  4.   

    有数据被修改 那么就需要在后台进行修改,如何没有,就需要保持原样,请教各位前辈,这个需求如何实现?谢
    这个没有修改也就是原值,如果你更新为原值也就是没有修改,所以不管有没有改,都把input里的值拿到后台去修改.一个是通过JS去把数据封装起来,然后使用","分开,到服务器上再折开来.var ids=new Array();
    var values= new Array();
    for(....)//循环页面所有的记录,可以使用hidden
    {
        ids.push(id);
        values.push(v);
    }
    form.ID字段=ids.join(",");把数组中的元素用,隔开,变成一个字符串
    form.value字段=values.join(",");到服务器的时候就使用,再把值给拆出来,按id和value去更新数据库了