2011-02-03 3 views
0

Я использую Struts2.2.1.1 с sitemesh 2.4.1 в Apache-Tomcat 6.0.29. Он отлично работает, но я не могу исключить файл из siteMesh.Проблема, исключая страницы с siteMesh Struts2 Tomcat 6

У меня есть мои декораторы в WebContent/jsp/decorators, но я хочу исключить файл WebContent/jsp/forms/Authentication.jsp. Я попытался с помощью этого decorators.xml с умолчанию реж = «/ JSP/декораторы»:

<excludes> 
    <pattern>../forms/Authentication.jsp</pattern> 
</excludes> 
<decorator name="main" page="layout.jsp"> 
    <pattern>/*</pattern> 
</decorator> 

Я также попытался изменить шаблон тег использовать /jsp/forms/Authentication.jsp и не работает. Может ли кто-нибудь дать мне несколько указателей в правильном направлении? большое спасибо.

Juan David

ответ

2

В дополнение к тому, что у вас есть, вам нужно настроить excludes в файле sitemesh.xml, как это: -

decorator.xml

<decorators> 
    <excludes> 
     <pattern>../forms/Authentication.jsp</pattern> 
    </excludes> 
    <decorator name="main" page="layout.jsp"> 
     <pattern>/*</pattern> 
    </decorator> 
</decorators> 

SiteMesh .xml

<sitemesh> 
    <property name="decorators-file" value="/WEB-INF/decorators.xml" /> 
    <excludes file="${decorators-file}" /> 

    <page-parsers> 
     <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> 
     <parser content-type="text/html;charset=ISO-8859-1" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" /> 
    </page-parsers> 

    <decorator-mappers> 
     <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"> 
      <param name="config" value="${decorators-file}" /> 
     </mapper> 
    </decorator-mappers> 
</sitemesh> 
+0

Спасибо, что ответили на мой вопрос, однако я уже создал в WEB-INF/sitemesh.xml файл, содержащий именно то, что вы разместили. И он тоже не работает. Может быть, это что-то еще? thanks –

+0

Свойство 'login-file' не должно указывать на ваш файл jsp. Он должен указывать на ваш файл 'decorator.xml'. – limc

+0

Спасибо limc. Я попробовал leving файл sitemesh.xml так же, как вы сказали мне. И в этом случае я не получаю исключение SAXException, но оно все еще украшает мою страницу входа. Но есть одна вещь, которую я не понимаю ... когда я загрузил пустое приложение sitemesh со своего сайта, я заметил, что у них есть файл с именем sitemesh-decorator.tld и sitemesh-page.tld, но я не включил их в моем проекте или моем файле web.xml, потому что они говорят, что эти файлы должны быть включены только в том случае, если контейнер не полностью поддерживает JSP 1.2, нужны ли эти файлы? Большое спасибо за вашу помощь. –

Смежные вопросы