0

我有一个列表如下

dnsList 有

urls(url1,url2,url3等)及其对应的dns_time,update_time,status_code值。connList 有 urls(url1,url2,url3 等) 和它们对应的 connection_time,update_time 值。

我的servlet将dnsList,connList返回给jsp。现在我试图在jsp中显示它

 <table>
 <c:forEach items="${dnsList}" begin="0" end="${fn:length(dnsList)}"var="dnsList" varStatus="iter">
 <c:forEach items="${connList}" begin="0" end="${fn:length(connList)}"var="connList" varStatus="iter">

 here I am displaying the values
 <tr>
 <td>${dnsList[0]}</td>
 <td>${dnsList[1]}</td>
 <td>${connList[0]}</td>
 <td>${connList[1]}</td>
 </tr>
 </c:forEach>
 </c:forEach>

</table>

我的问题是我重复获得相同的结果 2 次。对于每个 url dnstime,连接时间记录在浏览器中重复多次。请帮助我。如何迭代列表。这样我在表中得到输出

 Required output format is
-------------------------------------------------------------
url1             
------------------------------------------------------
dns_time           connection_time  
dns_update_time    conn_update_time
status_code

url2
-----------------------------------------  
dns_time          connection_time
dns_update_time   conn_update_time
status_code

请问谁能帮帮我??

4

2 回答 2

0

创建一个 JSON 对象并通过 servlet 的响应传递参数。因此,您将获得这样的数组,并且可以通过简单的循环或计数器增量轻松打印它。

 JSONArray urls=new JSONArray();
 JSONArray time=new JSONArray();
 //Input urls, time and so on ....
 JSONObject dnslist=new JSONObject();
 res.put("urls", urls);
 res.put("time", time);
 PrintWriter out=response.getWriter();
 out.println(res.toString());

这在您的 servlet 代码中。

现在您的脚本代码是:

$(document).ready(function(){
 something();
});

function something() 
{
   $.ajax({
    type: "post",
    success: function(resp) {
    alert(resp);
    if(resp!=null)
    {
    var response=eval('('+resp+')');
    /*we do this to make resp as an object. O/w we get it as string*/

    urls=response.urls;
    time=response.time;

    }
   }});
}

现在 urls 和 time 包含两个数组,您可以轻松地打印它们。开始使用 JSON 在 sevlet 和 JSP 页面之间传递值。希望这可以帮助 :)

于 2013-07-03T08:19:20.887 回答
-1

最好在服务器端执行复杂的逻辑并创建具有所需结构的特殊对象列表。然后你可以进行简单的迭代。

于 2013-07-03T05:33:14.130 回答