将数据库中内容展示在前台页面上

来源:互联网 发布:网络水晶头b类接线图 编辑:程序博客网 时间:2024/05/12 17:29

前面说过怎么遍历任意结构的table,那么后台读取以后怎么展示在前台呢?

之前的想法是,在servlet中输出xml文件,然后在js中处理后输出。

后来觉得麻烦,直接在servlet中输出html格式的文本,这样直接就在前台展示了。这样做其实不太好,不过方便。

html:

<div name="div_table" id="div_table"></div>


JS:

function view() {var table=document.importForm.table.value;var url = "servlet/ShowData?table="+table;xmlHttp.open("POST", url, true);xmlHttp.onreadystatechange = function() {if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {var xmlDom = xmlHttp.responseText;var table=document.getElementById("div_table");table.innerHTML=xmlDom;}}xmlHttp.send();}

Servlet:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setHeader("Cache-Control", "no-cache");response.setContentType("text/xml;charset=gb2312");String table=request.getParameter("table");//通过session获取参数HttpSession session  = request.getSession();String url = (String)session.getAttribute("url");String userName = (String)session.getAttribute("userName");String password =(String) session.getAttribute("password");String db=(String)session.getAttribute("db");url=url+db;//加入数据库信息ResultSet rs=null;ImportDao imp = new ImportDao();PrintWriter out = response.getWriter();try{//调用DAO里的getDataByTable取得ResultSet结果集                        rs=imp.getDateByTable(url, userName, password, table);//out.println("<?xml version='1.0' encoding='gb2312'?>");ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();      int columnCount = rsmd.getColumnCount();           out.println("<table class='datatable'><tr>");    for (int i=1; i<=columnCount; i++){     out.print("<th>");    out.print(rsmd.getColumnName(i));    out.println("</th>");    } out.println("</tr>");  int j=1;    while (rs.next()&& j<=50){   //只显示前50行数据    out.println("<tr>");            for (int i=1; i<=columnCount; i++){               out.print("<td>");            out.print(rs.getString(i));               out.println("</td>");           }           out.println("</tr>");         j++;    }     out.println("</table>");     rs.close();   }catch (Exception e) {e.printStackTrace();}}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doGet(request, response);}


原创粉丝点击