Newsgroup: it.comp.java
Titolo: Integrazione Struts 2 & Tiles 2

qualcuno li ha integrati? non riesco a capire i passi
ho inserito nella definizione del <package> il plug-in per tiles
<package name="......
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<action name="sample" class="example.ProvaAction" >
  			<result name="success" type="tiles">tilesWorks</result>
		</action>
...
</package>
l'errore ora è del tipo
org.apache.tiles.definition.NoSuchDefinitionException: tilesWorks
dunque dovrebbe intercettare le richieste dei tiles. Mancano le
definizioni (tiles-defs.xml) ma dove si impostano?
le ho inserite sotto classpath ma niete; nemmeno sotto web-inf
funge..
come/dove si dichiara il file di conf delle definizioni dei tiles?
magari sapete se c'è già un qualche tutorial in rete? nn ho trovato
nulla

Ciao,
nel tuo struts-config dichiari di usare Tiles con qualcosa del tipo
(cosi' era per versioni precedenti a struts2, non credo sia cambiato
molto...)
<plug-in className="org.apache.struts.tiles.TilesPlugin">
    <set-property property="definitions-config" value="/WEB-INF/tiles-
defs.xml" />
    <set-property property="moduleAware" value="true" />
    <set-property property="definitions-debug" value="10" />
    <set-property property="definitions-parser-details" value="2"/>
    <set-property property="definitions-parser-validate"
value="false" />
  </plug-in>
...e come vedi alla seconda riga dici a struts che le definizioni dei
template tiles sono in WEB-INF/tiles-defs.xml
Spero ti aiuti....
ciao ciao
marsel



in Struts 1.x so bene come si implementa
Struts 2 non c'entra più nulla con Struts 1.x.
Per fortuna è cambiato molto, ... anzi tutto

 Per fortuna è cambiato molto, ... anzi tutto
Perchè non ci spieghi sommariamente in cosa è cambiato e perchè "per
fortuna"?


dire che è cambiato è forse sbagliato. Meglio forse dire non è più
struts.
Struts 2 è spacciata come l'integrazione di Struts con quello che era
Webwork (un altro framework). Tutto Struts2 è Webwork! Gli è stato
semplicemente cambiato il nome in Struts2. Lo struts 1.x ormai è
"andato"...
dico per fortuna perchè la logica, la struttura e le possibilità di
integrazione di Webwork sono notevolmente migliori. Si è scelto di
cambiare il nome solo per la notorietà che ha struts ma ripeto di
Struts 1.x come lo conosciamo non è rimasto più nulla. Poi guarda sul
sito di struts apache.. i tutorial rimandano a webwork così come il
package del progetto.. puoi vedere che è tutto cambiato
Tornando all'origine del post a quanto sembra il listener plug-in
<listener>
<listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-
class>
</listener>
carica il file WEB-INF/tiles.xml che contiene le def dei tiles
il dtd per tiles2 è cmbiato. ora mi schianda sulle definizioni che il
sito di apache non è aggiornato e per ora non ci si capisce molto...
se riesco a risolvere posto il tiles.xml di es


una prima integrazione pare funzioni con queste definizioni
tiles.xml
<!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration 2.0//
EN"
       "
http://struts.apache.org/dtds/tiles-config_2_0.dtd
">
<tiles-definitions>
  <definition name="tilesWorks" template="/tiles/main.jsp" >
  </definition>
  <definition name="footer" template="/tiles/due.jsp">
  </definition>
</tiles-definitions>
...conf struts .xml
<action name="sample" class="example.ProvaAction" >
  			<!--  <result name="success" type="tiles">tilesWorks</result> -->
			<result name="success">/tiles/main.jsp</result>
		</action>
...main.jsp
....
<body>
    <div id="body">
      Tiles 101 body content.
    </div>
    <tiles:insertDefinition name="footer"></tiles:insertDefinition>
  </body>
...