0

次のようなリストがあります

dnsList には

urls (url1、url2、url3 など) とそれに対応する dns_time、update_time、status_code の値。connList には、url (url1、url2、url3 など) と、対応する connection_time、update_time の値があります。

私のサーブレットは、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 オブジェクトを作成し、サーブレットの応答を介してパラメーターを渡します。したがって、配列をそのまま取得し、単純なループまたはカウンターのインクリメントで簡単に印刷できます。

 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());

これはサーブレット コードにあります。

スクリプトコードは次のとおりです。

$(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 には両方の配列が含まれており、簡単に印刷できます。サーブレットと JSP ページの間で値を渡すために JSON の使用を開始します。お役に立てれば :)

于 2013-07-03T08:19:20.887 に答える