0 Replies Latest reply on Mar 18, 2008 8:30 AM by Alexey Shakov

    AJAX: The JSTL-code inside of

    Alexey Shakov Newbie

      Hi *,

      I use facelets+RF 3.1.2GA and have the following code:

       <h:form>
      
       <h:selectBooleanCheckbox valueChangeListener="#{testBean.doSelect}">
       <a4j:support event="onclick" ajaxSingle="true"
       limitToList="true" reRender="myId" />
       </h:selectBooleanCheckbox>
      
       <h:outputText value="#{testBean.selected}" id="myId"></h:outputText>
      
       <h:outputLabel value="#{testBean.label}" rendered="#{testBean.rendered}"></h:outputLabel>
      
       </h:form>
      


      When I click the checkbox, method isRendered() in testBean is called, and even twice: during APPLY_REQUEST_VALUES and RENDER_RESPONSE phase.

      The question is: WHY?

      This code snippet is simplified. In reality i have tausends of components on the template, most of them have "rendered" attribute. The JSTL-code inside of this attribute is always evaluated (during AJAX-Requests), regardless of "reRender" attribute. This makes the AJAX-Requests very slow: even if I need to rerender a single component.

      How can I solve the problem?

      Tanks for any help!