Автоматически включать JSP в каждую JSP - PullRequest
10 голосов
/ 06 августа 2009

Я бы хотел еще больше упростить свои JSP, прозрачно включив их. Например, это строка, которую я хотел бы удалить:

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

Файл include.jsp в основном объявляет все библиотеки тегов, которые я использую. Я запускаю это на WebSphere 6.0.2, я верю и уже попробовал эту конфигурацию:

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

И include-prelude, и include-coda не работали.

Я читал, что другие пользователи WebSphere не смогли запустить его; однако пользователи tomcat смогли.

Ответы [ 3 ]

8 голосов
/ 07 ноября 2009

jsp-property-group был представлен в JSP 2.0 (т.е. в Servlet 2.4) Websphere 6.0 - это сервлет 2.3.

Итак, у вас есть 3 варианта:

  1. Забудь об этом.
  2. Обновление Websphere.
  3. Заменить Websphere.
5 голосов
/ 06 августа 2009

Я не уверен, какая версия спецификации Servlet была представлена ​​... Возможно ли, что контейнер сервлетов Websphere не поддерживает ее?

В любом случае, для такого рода задач есть более приятный сторонний инструмент под названием SiteMesh . Это позволяет вам составлять страницы в точности так, как вы описываете, но очень гибко. Рекомендуется.

1 голос
/ 07 ноября 2009

Вы можете попробовать написать фильтр, который вызывает

getRequestDispatch( "path-to-jsp-to-include" ).include( req, res )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...