您的位置:首页 > 数据库

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

2013-06-21 18:10 316 查看
前面说过怎么遍历任意结构的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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐