&引用;“数据表”;Servlet JSP
我有以下代码:&引用;“数据表”;Servlet JSP,jsp,servlets,Jsp,Servlets,我有以下代码: <%@page import="server.Pseudo"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loos
<%@page import="server.Pseudo"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>DataTables example</title>
<style type="text/css" title="currentStyle">
@import "media/css/demo_table.css";
@import "media/css/demo_page.css";
</style>
<link type="text/css" href="jquery/css/jquery-ui-1.10.4.custom.css" rel="stylesheet" />
<script type="text/javascript" language="javascript" src="media/js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="media/js/jquery.dataTables.js"></script>
<script type="text/javascript" charset="utf-8">
$(function () {
oTable = $("#datatables").dataTable({
"sDom": 'T<"clear">lfrtip',
"bProcessing": true,
"sAjaxSource": 'connect',
"bServerSide":true,
"bJQueryUI":true,
"sPaginationType": "full_numbers",
"aoColumns":
[
{"mdata": "Vorname"},
{"mdata": "Nachname"},
{"mdata": "AliasName"},
{"mdata": "Wohnort"},
{"mdata": "Geburtsdatum"},
],
"oLanguage": {
"sProcessing": "Bitte warten...",
"sLengthMenu": "_MENU_ Einträge anzeigen",
"sZeroRecords": "Keine Einträge vorhanden.",
"sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen",
"sInfoEmpty": "0 bis 0 von 0 Einträgen",
"sInfoFiltered": "(gefiltert von _MAX_ Einträgen)",
"sInfoPostFix": "",
"sSearch": "Suchen",
"sUrl": "",
"oPaginate": {
"sFirst": "Erster",
"sPevious": "Zurück",
"sNext": "Nächster",
"sLast": "Letzter"
}
},
"tableTools" : {
"sSwfPath": "media/swf/copy_csv_xls_pdf.swf",
"aButtons": [
{
"sExtends": "collection",
"sButtonText": "Speichern als...",
"aButtons": [
{
"sExtends": "csv",
"sButtonText": "CSV"
},
{
"sExtends": "xls",
"sButtonText": "XLS"
},
{
"sExtends": "pdf",
"sButtonText": "PDF",
"sPdfOrientation": "landscape",
"sTitle": "Abfrage vom: ",
"sFileName": "*_Benjamin.pdf",
"sPdfMessage": "This is a testmessage.",
"mColumns": "sortable"
},
]
},
{
"sExtends": "print",
"sButtonText": "Drucken",
"sInfo": "Bitte nutzen Sie zum Drucken Ihren Broswer.\n Zum schließen 'ESC' drücken "
}
]
}
});
});
</script>
<style type="text/css">
.wrapper{width: 900px;margin: 0 auto;}
</style>
</head>
<body>
<div class="wrapper">
<table cellpadding="0" cellspacing="0" border="0" class="display" id="datatables">
<thead>
<tr>
<th>Vorname</th>
<th>Nachname</th>
<th>AliasName</th>
<th>Wohnort</th>
<th>Geburtsdatum</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</body>
</html>
数据表示例
@导入“media/css/demo_table.css”;
@导入“media/css/demo_page.css”;
$(函数(){
oTable=$(“#数据表”)。数据表({
“sDom”:“Tlfrtip”,
“bProcessing”:正确,
“sAjaxSource”:“连接”,
“bServerSide”:正确,
“bJQueryUI”:没错,
“sPaginationType”:“完整编号”,
“aoColumns”:
[
{“mdata”:“Vorname”},
{“mdata”:“Nachname”},
{“mdata”:“别名”},
{“mdata”:“Wohnort”},
{“mdata”:“Geburtsdatum”},
],
“语言”:{
“sProcessing”:“Bite warten…”,
“长菜单”:“长菜单”,
“sZeroRecords”:“Keine Einträge vorhanden.”,
“sInfo”:“开始”和“结束”是一个整体,
“无罪”:“0之二0之三”,
“Sinfofilter”:(gefiltert von_umax_uueinträgen)”,
“sInfoPostFix”:“,
“搜索”:“苏晨”,
“sUrl”:“,
“oPaginate”:{
“sFirst”:“Erster”,
“sPevious”:“Zurück”,
“sNext”:“Nächster”,
“slat”:“Letzter”
}
},
“表格工具”:{
“sSwfPath”:“media/swf/copy_csv_xls_pdf.swf”,
“阿布顿”:[
{
“性倾向”:“收藏”,
“sButtonText”:“Speichern als…”,
“阿布顿”:[
{
“性倾向”:“csv”,
“sButtonText”:“CSV”
},
{
“性倾向”:“xls”,
“sbuttonext”:“XLS”
},
{
“性倾向”:“pdf”,
“sButtonText”:“PDF”,
“方向”:“景观”,
“针”:“Abfrage vom:”,
“sFileName”:“*_Benjamin.pdf”,
“sPdfMessage”:“这是一条测试消息。”,
“mColumns”:“可排序”
},
]
},
{
“性倾向”:“打印”,
“sButtonText”:“Drucken”,
“sInfo”:“我是Drucken Ihren Broswer.\n zum schließen'ESC'drücken”
}
]
}
});
});
.wrapper{宽度:900px;边距:0自动;}
沃名称
姓氏
别名
居住地
Geburtsdatum
--->Tab.jsp
我的名为“connect.java”的servlet如下所示:
@WebServlet("/connect")
public class connect extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = 1L;
String TotalRecords = "7";
String TotalRecordsDisplay = "7";
@SuppressWarnings("unchecked")
protected void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("application/json");
PrintWriter out = response.getWriter();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/personendaten","benni","counting88");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM personen");
LinkedHashMap<String, Object> list = new LinkedHashMap<String, Object>();
Pseudo ps = new Pseudo();
while(rs.next())
{
list.put("nachname", rs.getString("Nachname"));
list.put("aliasName", rs.getString("AliasName"));
list.put("wohnort", rs.getString("Wohnort"));
list.put("geburtsdatum", rs.getString("Geburtsdatum"));
}
ps.setiTotalRecords(TotalRecords);
ps.setiTotalDisplayRecords(TotalRecordsDisplay);
ps.setAaData(list);
Gson gson = new Gson();
String json = gson.toJson(ps);
out.print(json);
} catch(Exception e)
{
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException
{
doGet(request, response);
}
}
@WebServlet(“/connect”)
公共类connect扩展了HttpServlet{
/**
*
*/
私有静态最终长serialVersionUID=1L;
字符串TotalRecords=“7”;
字符串TotalRecordsDisplay=“7”;
@抑制警告(“未选中”)
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException
{
setContentType(“应用程序/json”);
PrintWriter out=response.getWriter();
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
Connection con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/personendaten“,”本尼“,”计数88“;
语句stmt=con.createStatement();
结果集rs=stmt.executeQuery(“从personen中选择*);
LinkedHashMap列表=新建LinkedHashMap();
Pseudo ps=新的Pseudo();
while(rs.next())
{
list.put(“nachname”,rs.getString(“nachname”);
list.put(“别名”,rs.getString(“别名”);
list.put(“wohnort”,rs.getString(“wohnort”);
list.put(“geburtsdatum”,rs.getString(“geburtsdatum”);
}
ps.setiTotalRecords(TotalRecords);
ps.setiTotalDisplayRecords(总记录显示);
ps.setAaData(列表);
Gson Gson=新的Gson();
字符串json=gson.toJson(ps);
out.print(json);
}捕获(例外e)
{
e、 printStackTrace();
}
}
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException
{
doGet(请求、响应);
}
}
最后,我的“伪”类包含getter和setter方法:
public class Pseudo {
private int sEcho = 3;
private String iTotalRecords="";
private String iTotalDisplayRecords="";
private LinkedHashMap<String, Object> aaData;
public int getsEcho() {
return sEcho;
}
public void setsEcho(int sEcho) {
this.sEcho = sEcho;
}
public String getiTotalRecords() {
return iTotalRecords;
}
public void setiTotalRecords(String iTotalRecords) {
this.iTotalRecords = iTotalRecords;
}
public String getiTotalDisplayRecords() {
return iTotalDisplayRecords;
}
public void setiTotalDisplayRecords(String i) {
this.iTotalDisplayRecords = i;
}
public LinkedHashMap<String, Object> getAaData() {
return aaData;
}
public void setAaData(LinkedHashMap<String, Object> list) {
this.aaData = list;
}
}
公共类伪{
私人int sEcho=3;
私有字符串iTotalRecords=“”;
私有字符串iTotalDisplayRecords=“”;
私有LinkedHashMap数据;
公共int getsEcho(){
返回赛科;
}
公共区域(内部社区){
this.sEcho=sEcho;
}
公共字符串getiTotalRecords(){
归还记录;
}
public void setiTotalRecords(字符串iTotalRecords){
this.iTotalRecords=iTotalRecords;
}
公共字符串getiTotalDisplayRecords(){
返回记录;
}
公共void setiTotalDisplayRecords(字符串i){
this.iTotalDisplayRecords=i;
}
公共LinkedHashMap getAaData(){
返回数据;
}
公共void setAaData(LinkedHashMap列表){
this.aaData=列表;
}
}
我现在的问题是,服务器的响应只是一个对象,而不是对象数组
看看:
那怎么了
非常感谢
-legalizeSINCE88-此行打印的内容是什么?打印(json)否则调试并查找其中的值