2011-01-13 13 views
2

Ich frage mich gerade, was hier am besten ist. Ich möchte Daten aus einer Tabelle in meiner Datenbank ausgeben und dann viele dieser Daten in eine HTML-Tabelle im laufenden Betrieb auf meiner Seite legen. Ich arbeite mit Java auf der Serverseite. Grundsätzlich ziehe ich die Ergebnisse aus der DB und habe die Rohdaten .. wie geht es weiter?Vorteil der Ausgabe von JSON im Gegensatz zu reinem HTML

Es besteht die Möglichkeit, dass ich Daten aus mehreren Tabellen erfassen möchte, um sie in einer Tabelle für meine Site zu kombinieren.

Ich erhalte die Ergebnisse der Abfrage aus der DB, jetzt erstelle ich einen Text von ihm in der Form von JSON, die ich als json mit jquery bei der Rückgabe des Objekts an meinen Browser analysieren kann (Art von a Unterfrage dieser Frage: Ist mit nur einem String der richtige Weg, um eine json Objekt zur Ausgabe)

Oder ..

Soll ich beim Aufbau der HTML als String und Ausgabe, die an den Browser anstatt zu machen?

Was ist besser und warum?

Antwort

4

Ich habe ganze Seiten aus JSON-Daten auf dem Client erstellt. Es reduziert die Redundanz von sich wiederholendem HTML und kann je nach Komplexität Ihres HTML zu einer besseren Leistung führen.

Ich hatte einen großen Katalog, der mehrere Registerkarten für verschiedene Abschnitte verwendet. Das Senden an den Client als JSON und das Generieren des resultierenden HTML war viel schneller als das Herunterladen des entsprechenden HTML.

Was Sie verlieren, ist natürlich SEO. Suchmaschinen können die von JavaScript generierte Ausgabe nicht sehen. Es gibt Möglichkeiten, Hash-URL-Techniken zu verwenden.

+0

+1 für den SEO-Kommentar - didnt davon – Julio

0

Ich würde mit JSON gehen, wenn ich wüsste, dass ich später noch mehr als nur statische Ansichten der Daten im Hinterkopf habe.

Aber wenn es nur ist, so dass Sie sehen können, was das Ergebnis war, und sich nicht zu sehr für die Daten interessieren, dann würde ich mit der direkten HTML-Ausgabe gehen.

1

Ich war früher dafür, HTML auf dem Server zu generieren, so dass der Client dumm sein und einfach dynamischen Inhalt injizieren kann. Die pragmatischen Vorteile der realen Welt für unser kleines Team waren, dass wir Experten für weniger verschiedene Technologien sein mussten. Wir konzentrierten uns auf das mittlere und das hintere Ende und verbrachten weniger Zeit am Frontend.

In letzter Zeit, mit Tools wie jQuery, ist es einfacher und einfacher, robustere Client-Sachen zu machen, ohne die Dev-Bandbreite zu erhöhen. Auf der Client-Seite kann ich sagen, dass die Erstellung von dynamischem HTML aus JSON mit jQuery nicht so schwierig ist.

Von der Serverseite bin ich sicher, dass es Werkzeuge gibt, um zu JSON zu serialisieren. Ich würde nicht mit StringBuilder rollen. Tut mir leid, ich bin kein Java-Typ und habe keine Empfehlung.

+0

nette Antwort Mann! – Julio

0

Für die tatsächliche Erstellung der JSON-Server-Seite gibt es eine Reihe von Bibliotheken, die Sie verwenden können. org.json ist die kanonische, aber ich bevorzuge Stringtree persönlich.

Verwandte Themen