2009-08-06 13 views
10

Je voudrais simplifier encore plus mes JSP en les incluant de manière transparente. Par exemple, c'est la ligne que je voudrais supprimer:Inclure automatiquement une JSP dans chaque JSP

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

Le fichier include.jsp déclare essentiellement toutes les bibliothèques de balises que je utilise. Je cours ceci sur WebSphere 6.0.2 et je crois avoir déjà essayé cette configuration:

<!-- 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> 

Les deux include-prelude et include-coda ne fonctionne pas. Je lisais que d'autres utilisateurs de WebSphere n'étaient pas en mesure de le faire fonctionner; Cependant, les utilisateurs de Tomcat ont pu.

Répondre

8

Le jsp-property-group a été introduit dans JSP 2.0 (i.o.w. Servlet 2.4). Websphere 6.0 est Servlet 2.3.

Vous avez 3 options:

  1. oublieriez.
  2. Mettez à niveau Websphere.
  3. Remplacez Websphere.
+2

Nous sommes peut-être en train de mettre à jour websphere, mais nous ne le remplacerons jamais pour la même raison pour laquelle il a été choisi de développer. J'avais l'habitude d'aimer les produits IBM jusqu'à ce que j'ai commencé à utiliser WID/WAS. –

5

Je ne sais pas quelle version de la spécification Servlet a été introduite ... est-il possible que le conteneur de servlet de Websphere ne le supporte pas?

De toute façon, pour ce genre de tâche, il existe un outil tiers beaucoup plus agréable appelé SiteMesh. Il vous permet de composer des pages exactement comme vous le décrivez, mais de manière très flexible. Conseillé.

+0

Je seconde ceci. Soit SiteMesh ou Tiles. – amischiefr

+0

J'ai déjà utilisé SiteMesh et je l'aime bien; Cependant, nous utilisons des tuiles. Je voulais juste simplifier le JSP, donc il y avait moins de lignes de code, ramenées à la partie significative. –

1

Vous pouvez essayer d'écrire un filtre qui appelle

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