# JQuery "DATATABLES" - Plugin



## legalizeSINCE88 (9. Apr 2014)

Hallo,
weiß jetzt nicht ob ich damit hier richtig bin...

Ich habe folgende codes:


```
<%@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">

 var oTable;
$(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>
```
("tab.jsp")



```
package server;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.LinkedHashMap;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.google.gson.Gson;

@WebServlet("/connect")
public class connect extends HttpServlet {
	
	
	
	@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:8080/personendaten","****","****");
		Statement stmt = con.createStatement();
		ResultSet rs = stmt.executeQuery("SELECT * FROM personen");
		
		Pseudo ps = new Pseudo();
		LinkedHashMap<String, Object> list = new LinkedHashMap<String, Object>();
		
		while(rs.next())
		{
			list.put("vorname", rs.getString("Vorname"));
			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.setAaData(list);
			 
		}
		
		
		ps.setiTotalDisplayRecords("7");
		ps.setiTotalDisplayRecords("7");
	
		
		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);
	}
}
```
("connect.java")

und 

```
package server;

import java.util.LinkedHashMap;

public class Pseudo {
	private int sEcho = -1;
	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;
	}
}
```
("Pseudo.java")

Dazu noch folgenden Link zum Problem (Images):

Bilder hochladen kostenlos | img4web.com


Nun zum Problem:

Ich versuche mit dem JQuery Plugin "DataTables" eine Tabelle zu befüllen.
Ich habe keine antwortente PHP Seite sondern stattdessen ein Servlet(connect.java).
Ich versuche also im JSP File das Servlet über ""sAjaxSource": 'connect'" aufzurufen, um dann die Antwort in meine Tabelle zu schreiben. Das funktioniert aber nicht.
Ich bekomme immer den Fehler :"(...)Invalid JSON response(...)"(siehe Link)
Zudem liefert mir das servlet keinerlei Antwort(siehe Link).

Was ist falsch?

Bedanke mich für jegliche Hilfe!


-legalizeSINCE88-


----------

