目前正在开发一个项目,我从JSP中的Servlet接收Map对象的ArrayList。它的工作方式是当页面被拉起时,有一个通过jquery的AJAX调用到一个Servlet,它将使用必要的List of Map发回一个响应。我遇到的问题是页面加载后我试图根据Map对象中的值构建一个表。我的代码似乎正在起作用(有点)。当我用firebug查看XHR响应时,我可以看到整个页面中存在正确的标签(即tr和td标签)。当我尝试在浏览器中查看页面并使用“查看源代码”时,但是在forEach循环中创建的HTML不仅仅是我手动创建的HTML。
<table>
<tr>
<th>Home</th>
<th>Away</th>
</tr>
<c:forEach var="currentTeam" items="${GamesList}">
<tr id="game">
<c:forEach var="currentGame" items="${currentTeam}">
<c:if test="${currentGame.key eq 'Home' }">
<td>${currentGame.value}</td>
</c:if>
<c:if test="${currentGame.key eq 'Visitor' }">
<td>${currentGame.value }</td>
</c:if>
</c:forEach>
</tr>
</c:forEach>
</table>
我正在使用的当前代码。它本身包含在div标签中。不确定它是否有帮助,但只有当用户单击按钮打开Jquery弹出窗口时才会显示此div。任何帮助将不胜感激。
在Firebug中查看的XHR响应看起来像这样
<tr><td>New York Giants</td><td>Dallas Cowboys</td></tr>
<tr><td>Chicago Bears</td><td>Indianapolis Colts</td></tr>
<tr><td>Minneosta Vikings</td><td>Jacksonville Jaguars</td></tr>
<tr><td>New York Jets</td><td>Buffalo Bills</td></tr>
<tr><td>Houston Texans</td><td>Miami Dolphins</td></tr>
<tr><td>Tennessee Titans</td><td>New England Patriots</td></tr>
<tr><td>Detroit Lions</td><td>St. Louis Rams</td></tr>
<tr><td>New Orleans Saints</td><td>Washington Redskins</td></tr>
<tr><td>Cleveland Browns</td><td>Philadelphia Eagles</td></tr>
<tr><td>Kansas City Chiefs</td><td>Atlanta Falcons</td></tr>
<tr><td>Green Bay Packers</td><td>San Francisco 49ers</td></tr>
<tr><td>Arizona Cardinals</td><td>Seattle Seahawks</td></tr>
<tr><td>Tampa Bay Buccaneers</td><td>Carolina Panthers</td></tr>
为简洁起见。虽然View Source看起来如下:
<table>
<tr>
<th>Home</th>
<th>Away</th>
</tr>
答案 0 :(得分:0)
在Servlet中打印列表并将结果设置为div内容,如下所示
$("button").click(function(){
$.ajax({url: "\ServletCall", success: function(result){
$("#div1").html(result);
}});
});
<table>
<tr>
<th>Home</th>
<th>Away</th>
</tr>
<div id="div1"></div>
</table>