Pessoal,
Estou apanhando um pouco do SiteMesh aqui e estou com um problema semelhante, porém acredito que bem mais simples.
Estou fazendo uma aplicação com o Strtus2 (2.2.3.1) e o SiteMesh (2.4.2). O decorator está funcionando para a página que está na tag do web.xml, mas não está funcionando para outras pastas.
Explicando melhor, o sitemesh não está decorando depois que eu passo por dentro de uma Action. Estou fazendo o mapeamento do struts por convenção (annotation) e não sei se isto está atrapalhando de alguma forma.
Seguem meus códigos.
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>FechamentoMonitor</display-name>
<welcome-file-list>
<welcome-file>/WEB-INF/jsp/fechamentoIndex.jsp</welcome-file>
</welcome-file-list>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
decorators.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<decorators defaultdir="/WEB-INF/decorators">
<!-- Any urls that are excluded will never be decorated by Sitemesh -->
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
Action:
public class FechamentoAction extends ActionSupport {
/** Serial UID */
private static final long serialVersionUID = 1L;
@Action(value = "showConfigList",
results = {
@Result(name = "success",
location = "/WEB-INF/jsp/configuracaoFechamento.jsp")})
public String showConfigList() {
return "success";
}
}
Estrutura de Pastas do WEB-INF para baixo:
WEB-INF
decorators
main.jsp
decorators.xml
jsp
configuracaoFechamento.jsp
fechamentoInex.jsp
jspfs
head.jspf
tagLibs.jspf
lib
-- todas as bibliotecas que eu utilizo.
Qualquer idéia já ajuda. Acho que deve ser simples, mas eu não estou conseguindo resolver o problema.