tiles-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jorge Vasquez <jor...@mate1inc.com>
Subject Re: Using tiles without the tiles xml definition
Date Tue, 08 Jun 2010 16:19:32 GMT
Jorge Vasquez wrote:
> Antonio Petrelli wrote:
>> 2010/6/8 Jorge Vasquez <jorgev@mate1inc.com>:
>>  
>>> Antonio Petrelli wrote:
>>> The main problem is that the tiles.insertAttribute tags are not being
>>> replaced by whatever I try to set using the tiles.putAttribute tags.
>>>
>>> This is why I am getting in the browser:
>>> ....
>>>                <@s.head/>
>>>                <!-- TITLE -->
>>>                <@tiles.insertAttribute name="title"/>
>>>     
>>
>> I see that not only Tiles tags are not evaluated, but also Struts ones
>> have problems.
>> It seems that your templates are passing unmodified. Are you sure you
>> are using FreemarkerServlet correctly?
>> If yes, I suppose that you need to contact the Freemarker team.
>>
>> Antonio
>>   
> Everything works fine in this project if I use the normal approach of 
> the tiles.xml file with all the definitions, but I am trying to use a 
> more basic approach involving just ftl pages, no tiles xml file.
>
> I just upgraded all of my tiles jars to 2.2.1.
>
> I am using Tiles and Struts2.
> These are the jars from tiles that I included into the WEB-INF/lib:  
> tiles-api-2.2.1.jar, tiles-core-2.2.1.jar, tiles-freemarker-2.2.1.jar, 
> tiles-servlet-2.2.1.jar, tiles-template-2.2.1.jar.
>
> This is the portion of my web.xml file that is relevant to the tiles 
> configuration:
>
>    <listener>
>        
> <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>

>
>    </listener>
>
> In my struts.xml file I have:
>
>        <result-types>
>            <result-type name="freemarker" 
> class="org.apache.struts2.views.freemarker.FreemarkerResult" 
> default="true"/>
>            <result-type name="tiles" 
> class="org.apache.struts2.views.tiles.TilesResult"/>
>        </result-types>
>
> Now, since I upgraded to 2.2.1 I am getting the following error:
>
> <pre> Expression tiles is undefined on line 1, column 3 in 
> WEB-INF/ftl/tiles/login/login.ftl. The problematic instruction: 
> ---------- ==&gt; user-directive tiles.insertTemplate [on line 1, 
> column 1 in WEB-INF/ftl/tiles/login/login.ftl] </pre>
> <pre>freemarker.core.InvalidReferenceException: Expression tiles is 
> undefined on line 1, column 3 in WEB-INF/ftl/tiles/login/login.ftl. 
> </pre>
> .....
>
>
> This is my login.ftl code:
>
> <@tiles.insertTemplate template="/WEB-INF/ftl/layouts/blank_layout.ftl">
>
>  <@tiles.putAttribute name="title"  value="eDate Admin Login" />
>  <@tiles.putAttribute name="body_background" 
> value="images/background_paper.jpg" />
>  <@tiles.putAttribute name="logo" 
> value="images/mate1_logo_default.jpg" />
>  <@tiles.putAttribute name="footer" 
> value="/WEB-INF/ftl/tiles/footer.ftl" />
>  <@tiles.putAttribute name="body" >
>
> <h2>eDate Admin Login:</h2>
> <@s.form action="login">
>    <@s.textfield label="Email" name="email"/>
>    <@s.password label="Password" name="password"/>
>    <@s.submit/>
> </@s.form>
>
> </@tiles.putAttribute>
>
> </@tiles.insertTemplate>
>
> This is the mapping in my struts.xml file:
>
>        <action name="login_*" method="{1}" 
> class="com.edate.web.admin.actions.login.LoginAction">
>            <interceptor-ref name="eDateAdminBaseStack"/>
>            <result name="success" type="redirectAction">mainmenu</result>
>            <result name="error" type="tiles">error_page</result>
>            <result name="input" 
> type="freemarker">/WEB-INF/ftl/tiles/login/login.ftl</result>
>        </action>
>
>
> What am I missing?, why isn't it recognizing the tiles tags?  Any 
> references on integrating Struts2 + Tiles2 + FreeMarker?
>
> Thanks again,
> Jorge Vasquez
I guess my main question is whether or not it is possible to use a 
combination of Struts+Tiles+FreeMarker without using tiles definitions, 
no tiles.xml file at all.  Has anyone accomplished this?  Is it even 
possible?

Thanks again,
Jorge Vasquez

Mime
View raw message