在提交页面
this.getRequest().setAttribute("message","message");在user_list.jsp文件尾加上一段js
<%
     String msg = request.getAttribute("message") == null ? "" : (String)request.getAttribute("message");
     
     if(msg.trim().length() > 0)
     {
      out.println("<script> window.opener.location.href=window.opener.location.href;</script>");
     }
    
%>

解决方案 »

  1.   

    在弹出的页面中你执行完提交的js方法后,再让父页面查询一下。
    window.opener.query();query()是你父页面中的查询方法。
      

  2.   

    都是会刷新的,不过user_list获取的返回结果值没变,所以页面结果一样;
    action执行完毕,可以重新给个结果或request传递个值,在list页面通过值判断是否重新遍历,这取决与你的页面列表的实现方式了;
    ajax的库很多jquery,propertype啊,实现你说的这个局部刷新只是在对应的定义标签里(如div)里获取更改数据然后重写,这样做的话你action返回的值应该是个bean,不能是list
      

  3.   

    点击保存按钮-->ajax修改,返回true|false  
    if(true)alert(修改成功);js修改列表行记录,前提是你记录了行ID.   else alert(修改失败);建议不要用弹出窗口,改为DIV
      

  4.   

    回4楼。结果肯定是变了。因为我让他重新走了一次查询列表的action。你说的ajax做法,div获取数据然后重写,能给我个例子么?
    回5楼,你的这个想法不错。能给我个例子么。关键在JS修改行记录这里。如何配合struts2使用呢。
      

  5.   

    大家帮忙下。我现在的基本思路也感觉弹出窗口不是很合适。想用DIV+AJAX实现。谁能给个例子呢。最好
      

  6.   

    弹出窗口就弹出窗口呗。不过你在修改完信息后必须保证要刷新页面或者局部刷新。用window.reload();来刷新当面页面就行了。
      

  7.   

    建议用DIV 现在很多浏览器都是默认禁用弹出窗口的,要考虑易用性。
    你需要例子,我不晓得该如何传给你。
      

  8.   

    <--导入你的jquey.js -->
    <script>
     $(document).ready(function(){
     
     });
     function toUpdate(id){

    var name=$("tr"+id+" td")[0].text();
    var age=$("tr"+id+" td")[1].text();
    $("tr"+id+" td").each(funciton(i){
    if(i<2){
    name=$(this).text();
    age=$(this).text();
    }
    });
    $("div").show();
    $("input[name='trid']").val(id);
    //将name,age赋值给div的input


     }
     function doUpdate(){
    var name=.....
    var age=.....
    $.ajax(......这个我就不写了

    success:function(data){
    if(data){
    var id= $("input[name='trid']").val();
    $("tr"+id+" td")[0].text(name);
    $("tr"+id+" td")[1].text(age);
    $("div").hide();
    alert(修改成功);
    }

    }else{
    alert(修改失败);
    }
    });
     }
    </script>
    <table>
    <s:iterator value="user" status="num">
    <tr id='tr<s:property value="#num.count"/>'>
    <td><s:property value="name"/></td>
    <td><s:property value="age"/></td>
    <td><a href="#" onclick='toUpdate(<s:property value="#num.count")'>修改</a></td>
    </tr>
    </s:iterator>
    </table><--被修改的DIV-->
    <div style="display:none">
    <form name="updateForm">
    <input type='hidden' name='trid' value=""/>
    <table>
    <tr>
    <td><input type="text" value="" name=""/></td>
    <td><input type="text" value="" name=""/></td>
    <td><input type="button" value="确认修改" onclick="doUpdate()"/></td>
    </tr>
    </table>
    </form></div>
      

  9.   

    用editplus写的,用点乱,你自己再改改,大致思路是这样的。