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.

Reply via email to