如何从servlet显示ArrayList内容?

时间:2013-01-07 20:52:32

标签: jquery html jsp servlets

我在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标签。

感谢任何帮助!

2 个答案:

答案 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