Ajuda com tiles e struts

tenho uma pagina inicial chamada login.jsp que tem usuario e senha para o usuario se logar estou tentando transformar a parte de layout em tiltes
mas esta dando esse seguinte erro!!!

java.lang.IllegalArgumentException: Path .recruiterLoginDef does not start with a “/” character

codigo abaixo:

web.xml


<plug-in className="org.apache.struts.tiles.TilesPlugin">
	<set-property property="definitions-config" value="/WEB-INF/tiles-defs-recruiter.xml" />
</plug-in>


<set-property property="definitions-debug" value="2" />

<set-property property="definitions-parser-details" value="2" />

<set-property property="definitions-parser-validate" value="true" />

struts-config


tiles


alguem poderia me ajudar e explicar o que estou fazendo de errado.

Olá. Tudo bem?!

Olha… se não me engano, o plugin Tiles é configurado dentro do “struts-config.xml” e não dentro do “web.xml”!

Espero ter ajudado. Abraço.

mesmo assim nao funciona tirei do web.xml e coloquei dentro do struts config

http://www.guj.com.br/posts/list/19993.java

Dá uma olhada nesse tópico… tem uma estrutura de Tiles inteirinha montada… dá pra perceber algumas diferenças com relação à suas configurações!

Espero ter ajudado. Abraço.

verifiquei sua indicação mas mesmo assim nao funciona, pois no exemplo que vc me informaou nao tem a action do struts.

<definition name="definicaoPadrao" path="/WEB-INF/templates/recruiter.jsp/">
	<put name="titulo" value="Gerencial" />
	<put name="header" value="/WEB-INF/templates/recruiter/header/login.jsp" />
	<put name="body" value="/WEB-INF/templates/recruiter/title/login.jsp" />
	
</definition>

<definition name=".recruiterLoginDef" extends="definicaoPadrao">
	<put name="header" value="/WEB-INF/templates/recruiter/header/login.jsp" />
	<put name="body" value="/WEB-INF/templates/recruiter/title/login.jsp" />
</definition>
	<form-bean name="recruiterLogin" type="br.com.peopledb.struts.recruiter.form.LoginForm" />
	<forward name="login" contextRelative="true" path="/recruiter/login.do" redirect="true" />
	<action input=".recruiterLoginDef" attribute="recruiterLogin" name="recruiterLogin" path="/recruiter/login" scope="request" type="br.com.peopledb.struts.recruiter.action.LoginAction">
        <forward name="success" path=".recruiterLoginDef" />
		<forward name="recruiterLoginOk" path="/recruiter/home.do" />
     </action>			
<plug-in className="org.apache.struts.tiles.TilesPlugin">

   <!-- Path to XML definition file -->
   <set-property property="definitions-config" value="/WEB-INF/tiles-defs-recruiter.xml" />
   <set-property property="definitions-debug" value="1" />
   <set-property property="definitions-parser-details" value="0" />
   <set-property property="definitions-parser-validate" value="true" />
   <!-- Set Module-awareness to true -->
   <set-property property="moduleAware" value="false" />
 </plug-in>

Eu coloquei o exemplo para você ver as configurações do Tiles :slight_smile:

Tipo…

definition name=".recruiterLoginDef"

não deveria ter esse “.” ai no começo!!! Coloca algo como:

definition name=“definicao.recruiterLoginDef”

Entendeu?! =)

Espero ter ajudado. Abraço.

java.lang.IllegalArgumentException: Path definicao.recruiterLoginDef does not start with a “/” character

mesma coisa

<definition name="definicaoPadrao" path="/WEB-INF/templates/recruiter.jsp/">
	<put name="header" value="/WEB-INF/templates/recruiter/header/login.jsp" />
	<put name="body" value="/WEB-INF/templates/recruiter/title/login.jsp" />
	
</definition>

<definition name="definicao.recruiterLoginDef" extends="definicaoPadrao">
	<put name="header" value="/WEB-INF/templates/recruiter/header/login.jsp" />
	<put name="body" value="/WEB-INF/templates/recruiter/title/login.jsp" />
</definition>