You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tiles.apache.org by "Vitaly Polonetsky (JIRA)" <ji...@apache.org> on 2011/01/21 12:23:45 UTC
[jira] Updated: (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 ]
Vitaly Polonetsky updated TILES-519:
------------------------------------
Attachment: TILES-519-tests.patch
TILES-519-fix.patch
Added patch that fixes the problem and another patch to add tests (also added small additions to existing tests)
> 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
> 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.