Java 刷新该行并使用来自action类的responsegot替换行的两列

Java 刷新该行并使用来自action类的responsegot替换行的两列,java,javascript,ajax,jsp,Java,Javascript,Ajax,Jsp,我在jsp页面中有一个表,每行上有一个刷新按钮,单击每个刷新按钮我有一个javascript/ajax调用,在这个调用中,它将转到action类,获取status和#records的值,并用相应行的检索数据替换列 这是我的jsp表: <table border="1" class="displaytab" id="rtable"> <s:if test="%{user.roles == 'admin'}"> <tr> &

我在jsp页面中有一个表,每行上有一个刷新按钮,单击每个刷新按钮我有一个javascript/ajax调用,在这个调用中,它将转到action类,获取status和#records的值,并用相应行的检索数据替换列

这是我的jsp表:

<table border="1" class="displaytab" id="rtable">
         <s:if test="%{user.roles == 'admin'}">
         <tr>   <td  colspan="10" style="background:#7395B8;color:white;font-size:18px;font-weight:bold;"><center>Admin</center></td></tr>
         </s:if>
         <tr> 
         <th>FileId</th><th>File Name</th><th>Upload Date</th><th>#Records</th><th>Status</th><th>Estimated Time</th><th>Processed Records</th><th>Generate Report</th><th></th><s:if test="%{user.roles == 'admin'}"><th>Controls</th></s:if>
         </tr>

         <s:iterator value="uploadList" var="m"> 
            <tr>   
            <td><s:property value="%{#m.fileId}" /></td> 
            <td><s:property value="%{#m.fileName}" /></td>
            <td><s:property value="%{#m.uploadDate}" /></td>
            <td><div id="div2"><s:property value="%{#m.numRecords}" /></div></td>
            <td><div id="div1"><s:property value="%{#m.status}" /></div></td>
            <td>tbd</td>

            <td><s:property value="%{#m.numRecords}" /></td>
            <td><a href=""><img src="images/generate.png" title="Generate Report"></a></td>
            <td><a href=""><img src="images/refresh.png" title="Refresh" id="refresh" onclick="refreshRecord(<s:property value="%{#m.fileId}" />);"></a></td>
我在运行这个,在行动课上我得到状态和数字记录, 问题是

  • 只有第一行ajax函数正在调用,其余的行不在ajax函数内部

  • 我没有在ajax中获得状态和numRecords

  • 3.action类的数据应替换为两列status和#records。 请任何人帮忙,我从几天起就一直在为此奋斗


    我没有使用servlet,在表中我正在迭代数据列表。

    我也遇到了类似的问题,我认为您的问题在html表中。您将刷新按钮放在了表中。当ajax出现在刷新按钮时,它无法读取按钮,并且出现异常,因为它没有通过下一行

    var id;
             function refreshRecord(value)
            {
                id = value;
                alert(id);
            }
    
            $(document).ready(function(){
                $("#refresh").click(function(){
                   var fileId=id;
                   alert("ajax id is "+fileId);
                   var rowNum = $(this).parent().parent().index();;
                   alert(rowNum);
                   $.ajax({
                   type:"post",
                    url:"checkStatusAndNumRecs",
                   data:{fileId:fileId},
                    success:function(data)
                   {
                        setTimeout(alert(data), 2000);
                        var allTds = $("#rtable tr:eq('"+rowNum+"')").find('td');
                        $(allTds)[4].html(data[0]);               
                        $(allTds)[3].html(data[1]);
                   },
                   error:function(data)
                   {
                    $("#div1").html("It was a failure !!!");
                   }
                    });
                    });
                    });
            </script>
    
        System.out.println("here inside action-------------");
        PersistenceService svc = PersistenceServiceImpl.getInstance();
        status = svc.getStatusByFileId(fileId);
        System.out.println("status is "+status);
        numRecords = svc.getNumRecordsByFileId(fileId);
        System.out.println("num records are "+numRecords);
        return "SUCCESS";
    }