2009-08-20 13 views
1

Ich untersuche gerade die Idee von diesem, also habe keinen Beispielcode. Ich habe im Web herumgegraben, aber ich bin mir nicht sicher, wonach ich eigentlich suchen sollte, also finde ich nicht viel. Also dachte ich, ich würde fragen und sehen, ob jemand wüsste ob a) Das ist möglich. b) Wie soll ich es machen? (Oder zumindest, was ich herausfinden sollte, um es zu tun.)Erstellen Sie das Navigationsmenü dynamisch basierend auf den bereitgestellten Gläsern

Ich baue eine Web-App mit JSP-Seiten auf dem Client mit einem JBoss-Server mit J2EE, in der Mitte gibt es einen Tomcat-Webserver .

Grundsätzlich enthält die App verschiedene Abschnitte, die im Laufe der Zeit ausgerollt werden, wenn sie entwickelt werden, und auch Kunden können verschiedene Kombinationen von Abschnitten verwenden. Der sauberste Weg, dies zu implementieren, ist, dass ich jede Sektion in ein eigenes Glas baue. Abhängig von der Kombination der Abschnitte, die für den Kunden relevant sind, installieren Sie nur die erforderlichen JAR-Dateien auf dem JBoss-Server für die Bereitstellung.

Um dies zu unterstützen, möchte ich, dass das Client-Navigationsmenü nur die verfügbaren Abschnitte anzeigt, basierend auf dem, was auf dem JBoss-Server bereitgestellt wird. Kann mein Servlet herausfinden, was auf dem Server bereitgestellt wird? Ich möchte, dass die Lösung so "doof" wie möglich ist, dh ich möchte nicht sagen, wonach ich suchen soll (außer einer Vorsilbe, um unsere Gläser zu identifizieren), da ich noch nicht alles weiß, was wir tun könnten bauen.

Meine aktuelle Lösung besteht darin, eine Tabelle in der Datenbank zu haben, die eine Liste der installierten Abschnitte enthält. Dies erfordert jedoch während der Installation Update-Skripte und ich bin mir sicher, dass wir dies tun können, indem wir einfach jars auf dem Server bereitstellen.

Vielen Dank im Voraus.

+0

Danke für die schnellen Antworten Jungs. Ich hatte nicht an das Manifest gedacht. Tolles Trinkgeld. – javadeveloper

Antwort

0

Sie können diese Informationen in die Datei MANIFEST.MF hinzufügen und dann alle Dateien in Ihrem Webapp aufzählen (siehe this answer für wie alle Manifeste zur Liste), wenn Sie beginnen.

0

Ich mache etwas ähnliches, indem ich eine "Plugin Directory" -Einstellung für meine Anwendung konfiguriere. Es scannt dann dieses Verzeichnis regelmäßig für Jars. Es sucht nach bestimmten Metadaten im Manifest, um festzustellen, ob das Jar tatsächlich ein gültiges Plug-in ist und welche Klasse es laden soll (der statische Initialisierer dieser Klasse registriert das Plug-in mit der Anwendung).

Dann alles, was Sie tun müssen, ist ein neues Jar in dieses Verzeichnis zu legen, um seine Funktionalität hinzuzufügen.

Verwandte Themen