Ola,
Estou com uma aplicacao web JSF+Tiles que funciona normalmente. Entretanto, como a aplicacao vai rodar em um ambiente sem acesso a internet, preciso usar a validacao do DTD do Tiles localmente ou mesmo desabilitar ela. Assim, tentei duas coisas:
- Usar a DTD local, com /WEB-INF/tiles-def.xml contendo:
 
<!DOCTYPE tiles-definitions PUBLIC 
   "-//Apache Software Foundation//DTD Tiles Configuration//EN"
   "tiles-config.dtd">
Mas isso dá um erro quando a pagina é acessada, porque o Tomcat tenta localizar esse arquivo em /%TOMCAT_HOME%/bin/tiles-config.dtd, ou seja, no diretorio onde o Tomcat foi inciado.
Tambem tentei o acesso via SYSTEM, como:
<!DOCTYPE tiles-definitions SYSTEM 
    "tiles-config.dtd">
mas o problema é o mesmo.
Outra alternativa foi colocar o caminho completo do tiles-config.dtd, como:
<!DOCTYPE tiles-definitions SYSTEM 
   "file:///C:/tomcat/webapps/minhaApp/WEB-INF/tiles-config.dtd">
Isso até funciona, mas daí meu deployment fica dependente de paths, os quais eu nao posso garantir durante as instalacoes.
- Tambem tentei desabilitar a validacao de DTDs no Tomcat, usando no meu arquivo web.xml da minha aplicacao o seguinte:
 
	<servlet>
		<servlet-name>TilesServet</servlet-name>
		<servlet-class>
			org.apache.struts.tiles.TilesServlet
		</servlet-class>
		<init-param>
			<param-name>definitions-config</param-name>
			<param-value>/WEB-INF/tiles.xml</param-value>
		</init-param>
		<init-param>
		<param-name>definitions-parser-validate</param-name>
			<param-value>false</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>
Mas parece que “definitions-parser-validate” nao adianta nada, porque a DTD continua sendo validada, mesmo que eu comente sua declaracao no “tiles-def.xml”.
Alguem tem alguma dica sobre o assunto?