0

I would like to understand when and how often an attribute's value is updated. I often see that component's attributes are updated even thought I didn't explicitly call an update on the component.

For example:

<p:panel id="panelA"
    styleClass="#{controller.conditionA ? '.styleA' : 'styleB'}"
    rendered="#{controller.conditionB() }">
</p:panel>

When the conditionB changes from true to false, the panels rendered attribute is updated as well without me calling an updated on the panel with panelA.

How are the both attributes styleClass and rendered evaluated and when?

Are all attributes, which have a non-static value, evaluated and updated periodically?

Instead of the panel, styleClass and rendered there could be other Primefaces components and attributes. I am interested in the general mechanism behind that.

Jasper de Vries
  • 13,693
  • 6
  • 54
  • 86
Hendrik
  • 149
  • 3
  • 14
  • See https://stackoverflow.com/questions/25339056/understanding-primefaces-process-update-and-jsf-fajax-execute-render-attributes – Jasper de Vries May 16 '19 at 09:42
  • @Jasper de Vries Thanks a lot. I knew about this post, but now I do understand it. All my components which before inexplicably updated their server-dependent attributes actually had an ajax event with a listener calling the controller. And since process defaults to '@this' for my component's attribute is updated. – Hendrik May 16 '19 at 11:04

0 Answers0