Fala pessoal,
Eu estou tendo um problema aqui aparentemente simples de resolver, mas não estou conseguindo. Estou programando com tiles e struts e vi um tutorial nesse site http://www.lifl.fr/~dumoulin/tiles/doc/tutorial.html.
Nesse tutorial possui o item 6.6.2, que fala sobre struts action. E na verdade eu não estou conseguindo fazer com que a minha página home além de chamar o tiles, realize a action home já criada.
O código do struts-config.xml segue abaixo:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- Data Sources -->
<data-sources>
</data-sources>
<!-- Form Beans -->
<form-beans>
</form-beans>
<!-- Global Exceptions -->
<global-exceptions>
</global-exceptions>
<!-- Global Forwards -->
<global-forwards>
<forward name="home" path="/home.jsp">
</forward>
</global-forwards>
<!-- Action Mappings -->
<action-mappings>
<action path="/home" forward="tiles.home.page">
<forward name="success" path="tiles.home.page">
</forward>
</action>
</action-mappings>
<controller processorClass="org.apache.struts.tiles.TilesRequestProcessor">
</controller>
<!-- Message Resources -->
<message-resources parameter="resources.ApplicationResources"/>
<message-resources parameter="component.resources.SiteHtmlResources" key="siteHtmlResources"/>
<message-resources parameter="component.resources.PageHtmlResources" key="pageHtmlResources"/>
<plug-in className="org.apache.struts.tiles.TilesPlugin" />
</struts-config>
Caso o struts-config fique assim eu executo e abre meu home com a formatação que eu espero do tiles, porém a minha action home não é executada. Sendo que essa action pega alguns dados no DB.
Se eu realizar a action no struts-config dessa forma abaixo, eu executo a action, porém a formatação que o tiles faz eu não tenho mais. Ou seja, fico totalmente sem formatação como se não existisse footer, header, etc.
<action path="/home" type="actions.HomeAction">
</action>
Além disso no meu web.xml existe inserido o o tiles-config.xml e possui uma tag correspondente a “tiles.home.page” que é justamente o forward que eu faço no home. Mas eu faço um forward sem chamar a minha action, no caso seria <action path="/home" type=“actions.HomeAction”>.
A tag no arquivo tiles-config.xml correspondente a “tile.home.page” é:
<definition name="tiles.home.page" extends="tiles.w3-DefaultTemplate">
<put name="pageTitle" value="pageTitle.home"/>
<put name="content" value="/home.jsp"/>
<put name="breadcrumbs" value="/layouts/blankContent.jsp"/>
<put name="relatedLinkSetId" value="home"/>
<put name="linkId" value="home"/>
</definition>
Como faço para dentro dessa tag poder chamar a minha action e manter a formatação provida do tiles ?!
Se alguém pudesse me ajudar seria muito bom. Obrigado pela atenção em ler todo o post.
Abraços,
Murilo