You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tiles.apache.org by "Antonio Petrelli (JIRA)" <ji...@apache.org> on 2011/01/21 20:57:43 UTC
[jira] Assigned: (TILES-519) tiles:getAsString is not cleaning
tiles context when attribute is not present and ignore=true
[ https://issues.apache.org/jira/browse/TILES-519?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Antonio Petrelli reassigned TILES-519:
--------------------------------------
Assignee: Antonio Petrelli
> tiles:getAsString is not cleaning tiles context when attribute is not present and ignore=true
> ---------------------------------------------------------------------------------------------
>
> Key: TILES-519
> URL: https://issues.apache.org/jira/browse/TILES-519
> Project: Tiles
> Issue Type: Bug
> Components: tiles-template
> Affects Versions: 2.2.2
> Reporter: Vitaly Polonetsky
> Assignee: Antonio Petrelli
> Attachments: TILES-519-fix.patch, TILES-519-tests.patch
>
>
> After putting this line in the template:
> <tiles:getAsString name="subtitle" ignore="true"/>
> <tiles:insertAttribute name="body" />
> And if "subtitle" attribute is not defined. The page will fail on rendering the "body" attribute, because getAsString failed to cleanup it's tiles context (endContext() is not executed).
> SOLUTION:
> The problem is in GetAsStringModel class, in the last method - renderAttribute():
> The first three lines that check for null attribute and ignore flag should be inside the try caluse:
> try {
> if (attribute == null && ignore) {
> return;
> }
> writer.write(...
> This way the finally clause will be executed even in attribute is null and should be ignored. The finally clause is ending the tiles context.
> This is the same as the code inside: InsertAttributeModel.renderAttribute()
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.