2009-08-06 19 views
10

Ich möchte meine JSPs noch weiter vereinfachen, indem ich sie transparent einschließe. Zum Beispiel ist dies die Linie würde ich entfernen mag:Automatisches Einbinden einer JSP in jede JSP

<%@ include file="/jsp/common/include.jsp"%> 

Die include.jsp Datei erklärt alles, was ich die Tag-Bibliotheken im Grunde verwenden. Ich verwende diese auf WebSphere 6.0.2 Ich glaube, und haben bereits diese Konfiguration versucht:

<!-- Include this for every JSP page so we can strip an extra line from the JSP --> 
    <jsp-config> 
     <jsp-property-group> 
      <url-pattern>*.htm</url-pattern> 
      <!--<include-prelude>/jsp/common/include.jsp</include-prelude>--> 
      <include-coda>/jsp/common/include.jsp</include-coda> 
     </jsp-property-group> 
    </jsp-config> 

Sowohl die include-prelude und include-coda nicht funktionierte.

Ich habe gelesen, dass andere WebSphere-Benutzer das nicht einrichten konnten; Tomcat-Benutzer konnten dies jedoch.

Antwort

8

ruft jsp-property-group in JSP 2.0 (i.o.w. Servlet 2.4) eingeführt wurde. Websphere 6.0 ist Servlet 2.3.

So haben Sie 3 Möglichkeiten:

  1. vergessen.
  2. Upgrade Websphere.
  3. Ersetzen Sie Websphere.
+2

Wir könnten die Websphere aktualisieren, aber wir werden sie nie ersetzen, aus demselben Grund, aus dem sie ursprünglich entwickelt wurden. Ich mochte IBM-Produkte, bis ich anfing, WID/WAS zu verwenden. –

5

Ich bin nicht sicher, welche Version der Servlet-Spezifikation wurde eingeführt ... ist es möglich, dass Websphere Servlet-Container es nicht unterstützt?

Wie auch immer, für diese Art von Aufgabe gibt es ein viel netteres 3rd-Party Tool namens SiteMesh. Es erlaubt Ihnen, Seiten genau so zu schreiben, wie Sie es beschreiben, aber auf eine sehr flexible Art und Weise. Empfohlen.

+0

Ich zweite dies. Entweder SiteMesh oder Tiles. – amischiefr

+0

Ich habe SiteMesh bereits verwendet und mag es; Wir verwenden jedoch Tiles. Ich wollte nur die JSP vereinfachen, so dass es weniger Codezeilen gab, die auf den sinnvollen Teil reduziert waren. –

1

könnten Sie versuchen, einen Filter zu schreiben, die die

getRequestDispatch("path-to-jsp-to-include").include(req, res)