我有一个列表如下
dnsList有
url(url1,url2,url3等)及其对应的dns_time,update_time,status_code值。 connList有 url(url1,url2,url3等)及其对应的connection_time,update_time值。
我的servlet将dnsList,connList返回给jsp.Now我试图在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次。对于每个网址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
请有人可以帮助我吗?
答案 0 :(得分: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页面之间传递值。希望这会有所帮助:)
答案 1 :(得分:-1)
最好在服务器端执行复杂的逻辑,并创建具有所需结构的特殊对象列表。然后你可以进行简单的迭代。