&引用;“数据表”;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)否则调试并查找其中的值