Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Won't Fix
    • Affects Version/s: 1.1.5
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      I noticed today strange behavior if I change the loglevel for myfaces. Some getters of backing beans are called although the rendered attribute of a parent component is false. It is caused by class DebugUtils.traceView.
      I enabled logging via following setting: log4j.logger.org.apache.myfaces=DEBUG

      Sample jsp:
      <t:panelGroup rendered="#

      {!empty requestScope['myflag']}

      ">
      <t:dataTable value="#

      {myController.value}

      " ...
      </t:panelGroup>

      myController.getValue() is now called if logging is enabled although myflag is not set in request scope.

      This makes debugging difficult if the app behaves different depending on loglevel settings. Data can be uninitialized if the parent should not be rendered (or it will be lazy initialized on each request if BackingBean is request scope and not saved in the request).

      Therefore I would prefer to skip all components that should not be rendered from output.

      I'll provide a patch as soon as possible (I 'l try this month)

        Attachments

        1. DebugUtils.patch
          0.7 kB
          Michael Heinen

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mheinen Michael Heinen
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: