[
https://issues.apache.org/jira/browse/TOMAHAWK-1494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12862080#action_12862080
]
Leonardo Uribe commented on TOMAHAWK-1494:
------------------------------------------
Change HtmlMessageRenderer could lead to inconsistencies. Suppose the parent
t:div renderer property is tied to a value expression and by some reason a
message is output for the inner components. Since they are skipped, the id will
not be correctly replaced. It is preferred to keep things as is to introduce
this inconsistency.
If no objections, I'll close this issue as invalid.
> HtmlMessageRenderer evaluates value expressions of not rendered components
> --------------------------------------------------------------------------
>
> Key: TOMAHAWK-1494
> URL: https://issues.apache.org/jira/browse/TOMAHAWK-1494
> Project: MyFaces Tomahawk
> Issue Type: Bug
> Components: Message(s)
> Affects Versions: 1.1.9
> Environment: tomahawk12_1.1.9,
> myfaces 1.2.8,
> richfaces 3.3.3
> jsp
> Reporter: Michael Heinen
> Priority: Critical
>
> I produced a validation error in an inputText field. This field ha a
> corresponding outputLabel component.
> Now HtmlMessageRenderer creates a Map with all inputLabels, even if they are
> not rendered at all.
> This can result in exceptions because the value attribute of not rendered and
> not initialized components is evaluated!
> Sample content:
> <t:div rendered="false">
> <t:outputLabel id="abcabcLbl" for="abcabc" value="#{MyController.testme}
> "/>
> <t:inputText id="abcabc" value="#{requestScope['test222']}"/>
> </t:div>
> Method MyController.getTestme() is called if messages are rendered although
> the parent div component has attribute rendered=false
> proposed fix:
> if (root.isRendered())
> should be added to method createOutputLabelMap.
> Components should not be checked recursively if the root is not rendered at
> all.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.