/ / JSP - Wie rendere ich HTML (oder JSP) Code aus einer Datenbank? - HTML, JSP

JSP - Wie wird HTML-Code (oder JSP-Code) aus der Datenbank gerendert?

Ich habe eine JSP, die von mehreren Benutzern verwendet wirdGruppen. Voraussetzung ist, dass jede Benutzergruppe beim Zugriff auf die Seite ein benutzerdefiniertes Erscheinungsbild wünscht (mit einem unterscheidenden Parameter). Wir schlagen vor, den Benutzern zu erlauben, den von ihnen benötigten HTML-Code in einer Datenbanktabelle abzulegen, und der JSP bestimmt die Benutzergruppe und zeigt den entsprechenden HTML-Code an. Gibt es Hinweise, wie dies getan werden kann?

Beispiel: Wenn Benutzergruppe 1 auf die URL ABC zugreift.com / xyz? param = aaa, dann sollte das jsp das HTML anzeigen, das in der Datenbank gespeichert ist, die UserGroup1 entspricht. Ebenso sollte abc.com/xyz?param=bbb das für UserGroup2 gespeicherte HTML rendern.

HTML für Gruppe 1:

<html>hello, user 1 </html>

HTML für Gruppe 2:

<html>hello, user 2 </html>

Wie erhält meine JSP diesen HTML-Code von Servlets oder anderen Klassen?

Jegliche Vorschläge zu JSF 2.0 sind ebenfalls willkommen.

Der obige Beispielcode mag einfach klingen, aber in Wirklichkeit unterscheiden sich Layout, Bilder, Rahmen, Tabellen und Inhalte

Antworten:

1 für die Antwort № 1

Unterscheiden Sie zwischen Benutzern durch die Verwendung der Sitzung und verwalten Sie sie über die API


1 für die Antwort № 2

IMO würde ich nicht HTML in der DB speichern. Es ist nicht dort, wo es hingehört.

Sie können (in JSF 2.0) eine "Vorlagenseite" erstellen, die grundlegende Dinge enthält, die Sie auf jeder Seite wiederverwenden ... Kopfzeile, Text, Fußzeile, CSS, JS usw.

Auf dieser "Vorlage" -Seite können Sie die <ui:insert name="body"> Tag, um Orte zu definieren, die von jeder Seite definiert werden.

Auf Ihren Seiten verwenden Sie das <ui:composition template="whateverPage.xhtml"/> um deine Vorlage zu definieren. Dann können Sie den gewünschten Code basierend auf den verwendeten Parametern einfügen <ui:define name="body">

JSF 2 Templating mit Facelets


1 für die Antwort № 3

anstatt das gesamte HTML zu speichern, was nicht empfohlen wird, wie Phanneman sagt,
Speichern Sie ein CSS oder CSS-Snippets. Speichern Sie beispielsweise in Ihrer Datenbank die Bildpfade für jeden Benutzer.
Farbe usw. in der Datenbank für jeden Benutzer.
Dies kann hilfreich sein, indem die spezifischen Daten für jede Benutzergruppe abgerufen werden.