Frage

Ich habe eine Reihe von JSP-Dateien und Backend in Tomcat. Ich habe 3 verschiedene Versionen von JSP mit derselben Logik innen, aber mit verschiedenen Layouts. Wenn ich also eine gewisse Logik zu ändern Ich habe drei JSP-Datei zu reparieren.

Was ist der richtige soution für ein solches Szenario? Ich dachte an einige XML und XSLT-Stack: Backend gibt nur Daten in XML und als für jedes Layout Ich habe XSLT, die eine gewisse Magie tut.

Man stelle sich vor, dass Sie Stackoverflow in verschiedenen Sprachen in JSP zur Verfügung stellen müssen. Logic die gleiche, aber das Layout anders.

Könnten Sie mir in eine Richtung?

War es hilfreich?

Lösung

Erfahren Sie mehr über MVC (Model-View-Controller) und die Idee, dass JSP die Ansicht ein Teil davon sein sollte und keine Logik überhaupt enthalten. Logic gehört in eine Modellklasse.

Andere Tipps

Diese in der Regel durch den Einsatz einig Template-Engine gelöst wird -. Sie kleinere Seite Fragmente erstellen und dann erklären Sie den Template-Engine, die bestimmten Ansichten dieser Teile zusammen in einer bestimmten Art und Weise bestehen sollten

Struts-Fliesen sind das klassische Beispiel in der Java-Welt, aber es ist wirklich alt und crufty immer im Vergleich zu moderneren Framworks in Java und anderen Sprachen. Tapisserie und Wicket sind zwei modernere (haben sie nicht, obwohl verwendet wird).

nur 3 Seiten für eine ganze Web-Framework Anwendung ist wahrscheinlich, obwohl viel des Guten, aber wenn Ihre Website wächst ...

Mit einfachen alten JSP ohne irgendwelche Arten fameworks:

1) Verwenden Sie Controller die Verarbeitung zu tun und nur jsp verwenden, um die Daten anzuzeigen

2) Verwenden Sie jsp umfassen Richtlinien umfassen Header, Navigation, Menü, Footer und andere notwendige gemeinsame / shared Elemente all diese Layouts.

oder / und:

Verwenden Sie die folgenden in web.xml

    <jsp-property-group>
        <url-pattern>/customers/*</url-pattern>
        <include-prelude>/shared/layout/_layout_customers_top.jsp</include-prelude>
        <include-coda>/shared/layout/_layout_customers_bottom.jsp</include-coda>
    </jsp-property-group>

Das URL-Muster festgelegt, welche JSPs erhalten die jsp-Fragmente (partials in Ruby on Rails) angebracht / unten nach oben.

Werfen Sie einen Blick auf Fliesen.

Dies ist ein sehr klassisches Problem Domain und es gibt viele Konzepte und Rahmenbedingungen gibt, die sich mit diesem Thema (MVC-Frameworks wie Struts und JSF, Session um nur) zu behandeln versuchen. Wie ich vermute, du bist nicht wirklich ein Java Enterprise „Evangelist“ Ich werde Ihnen zwei einfache Ratschläge geben.

  1. Sie offensichtlich viel redundanten Code haben in Sie JSPs sind. Extrahieren Sie diesen Code in „echten“ Java-Klassen und nutzen sie auf allen Ihren JSPs. So können Sie in der Lage, Business-Logik in einem Ort zu ändern und Redundanz wird weniger ein Problem sein.

  2. Werfen Sie einen Blick auf Cascading Style Sheets (CSS). Das ist der Stand der Technik Art und Weise Webseiten-Layouts. Sie können nicht einmal unterschiedliche JSPs müssen für verschiedene Layouts, wenn Sie gut HTML + CSS entworfen haben.

Viele Grüße

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top