[
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.