0

我在一个 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>

小服务程序:

 @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 标记。

任何帮助表示赞赏!

4

2 回答 2

0

我在 jquery 中看到的唯一问题是“.text()”。相反,将其替换为“div”的“.html()”,如下所示。

$("#dataDisp").html(responseText);

此外,您可以在列表上有一个 for 循环,并在 Index.jsp 文件中使用“tr”s 和“td”s 构建表,并将其返回给 jquery。

希望这可以帮助!!

于 2013-01-07T20:58:50.077 回答
0

如果您使用 jquery html 方法而不是 text 方法,您会看到 h1 正确显示:

$("#dataDisp").html(responseText);

执行此类操作的最佳方法是在服务器上生成一个 json 序列化字符串,然后您可以在 javascript 中迭代对象。此外,您可以使用像 mustache 这样的 javascript 模板引擎来构建您的表格,请参阅https://github.com/janl/mustache.js

于 2013-01-07T21:02:22.237 回答