2013-01-07 27 views
0

我在一个ArrayList中拥有大量的数据,这个数据库包含了我大学的2600个类。我正在试图构建一个JSP页面来显示这些信息。我无法弄清楚如何在表格中显示这些数据。如何从servlet中将ArrayList内容显示为​​?

要开始测试,我只是为了验证我可以访问数据。

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

任何帮助表示赞赏!

+1

使用.text()将只将其设置为字符串。 ' –

+0

太棒了!谢谢,我对jsp非常陌生,所以我仍然在查看文档,看看它们是如何结合在一起的。我只是希望通过在我的servlet中设置一个表格我并没有去掉MVC范例: -/ –

+0

如果你真的想把你的列表转换成JSON字符串,那么你可以在你的JS里面的成功函数()中构建它。使用[GSON]非常简单(http://code.google.com/p/google-gson/) –

回答

0

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

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

此外,你可以有一个在名单上的环和建立与“TR” S和“TD” S表中的index.jsp文件,并返回相同的jQuery的。

希望这有助于!

+0

这太棒了!感谢@Praveen,我想你之前也曾帮助过我:)。 –

+0

完全没有问题。不用客气 :)!! – Praveen

0

如果你已经使用了jQuery HTML方法,而不是你所看到的H1文本方法正确显示:

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

做这样的事情,这将是生成序列化JSON的最好方法字符串在服务器上,然后你可以遍历JavaScript中的对象。此外,您可以使用JavaScript模板引擎(如胡须)来构建表格,请参阅https://github.com/janl/mustache.js