我在ArrayList中拥有大量数据,可以容纳我学院的大约2,600个班级。我正在尝试构建一个将显示此信息的JSP页面。我无法弄清楚如何在表格中显示这些数据。
为了在开始时测试,我这样做只是为了验证我可以访问数据。
HTML:
<html>
<head>
<body>
<button id="btnData">Get all classes.</button>
<div id="dataDisp></div>
<script>
$(document).ready(function(){
$("#btnData).click(function(){
$.get('daoServlet', function(responseText){
$("#dataDisp").text(responseText);
});
});
});
</body>
<html>
的Servlet
@WebServlet("/daoServlet/*")
public class ClassDAO extends HttpServlet
{
//Code getting my ArrayList<ClassInfo> set up, etc.
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String text = fallClassListings.toString();
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(text);
}
}
这将显示每个班级。那么,我可以采用什么方向将这些数据格式化为index.jsp页面中的表格?我尝试过像
这样的事情 text = "<h1>This is an h1 tag</h1>";
只是为了看看我是否可以返回一些HTML,但是只打印出整个字符串文字,而不是h1标签。
感谢任何帮助!
答案 0 :(得分:0)
我在jquery中看到的唯一问题就是“.text()”。相反,将其替换为“div”的“.html()”,如下所示。
$("#dataDisp").html(responseText);
此外,您可以在列表中使用for循环,并在Index.jsp文件中使用“tr”和“td”构建表,并将其返回给jquery。
希望这有助于!!
答案 1 :(得分:0)
如果您使用了jquery html方法而不是文本方法,那么您会看到h1正确显示:
$("#dataDisp").html(responseText);
执行此类操作的最佳方法是在服务器上生成json序列化字符串,然后您可以在javascript中迭代对象。此外,您可以使用像胡子这样的javascript模板引擎来构建表,请参阅https://github.com/janl/mustache.js