title: ui:fragment causing backing bean to not update?
body: <p>I have this composite component that based on what is selected in a drop down(STREET, PO BOX) renders either another composite component streetAddressUpdate or postalBoxAddressUpdate. Here is the code</p>
  
  <pre><code>&lt;?xml version='1.0' encoding='UTF-8' ?&gt;
  &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
  &lt;html
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:cc="http://java.sun.com/jsf/composite"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:tad="http://java.sun.com/jsf/composite/tmr/ad"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:tmi="http://java.sun.com/jsf/composite/tmr/mi"&gt;
  
  &lt;!-- INTERFACE --&gt;
  &lt;cc:interface&gt;
      &lt;cc:attribute
          name="title"
          default="Postal address" /&gt;
      &lt;cc:attribute
          name="postalAddress"
          type="qdtmr.comp.cbui.address.fieldmodel.PostalAddress"
          default="#{addressUpdate.postalAddress}"
          required="true" /&gt;
   &lt;/cc:interface&gt;
  &lt;cc:implementation&gt;
  &lt;ol class="questions"&gt;
  
      &lt;!-- Postal address type --&gt;
      &lt;li&gt;&lt;h:outputLabel for="postalAddressType"&gt;
              &lt;span class="label"&gt;#{tcum.postalAddressType}&lt;/span&gt;
          &lt;/h:outputLabel&gt; &lt;p:selectOneMenu
              id="postalAddressType"
              value="#{cc.attrs.postalAddress.postalAddressType}"
              valueChangeListener="#{addressUpdate.changePostalAddress}"&gt;
              &lt;f:selectItems value="#{addressController.postalAddressTypesList}" /&gt;
              &lt;p:ajax
                  update=":#{cc.clientId}:postalAddressPanel, :#{cc.clientId}:poBoxPanel" /&gt;
          &lt;/p:selectOneMenu&gt;&lt;/li&gt;
  
      &lt;p:outputPanel id="postalAddressPanel"&gt;
          &lt;ui:fragment rendered="#{cc.attrs.postalAddress.postalAddressType == 'STREET'}"&gt;
              &lt;tad:streetAddressUpdate
                  streetAddress="#{cc.attrs.postalAddress.postalStreetAddress}"
                  title="" /&gt;
          &lt;/ui:fragment&gt;
      &lt;p:outputPanel id="poBoxPanel"&gt;
          &lt;ui:fragment rendered="#{cc.attrs.postalAddress.postalAddressType == 'POBOX'}"&gt;
              &lt;tad:postalBoxAddressUpdate
                  postalBoxAddress="#{cc.attrs.postalAddress.postalBoxAddress}" /&gt;
          &lt;/ui:fragment&gt;
      &lt;/p:outputPanel&gt;
  &lt;/ol&gt;
  &lt;/cc:implementation&gt;
  &lt;/html&gt;
  </code></pre>
  
  <p>The thing that is confusing me is that if I take out the ui:fragment tag, my values on the page make their way back to the postalStreetAddress/postalBoxAddress model beans, but with the ui:fragment in their, my values do not end up making to the postalStreetAddress/postalBoxAddress.</p>
  
  <p>The reason I have the ui:fragment is because depending on the postalAdressType either the postalBoxAddressUpdate composite component will be used or the postalStreetAddressUpdate component will be used.</p>
  
  <p>Any help will be greatly appreciated. I suspect its the ui:fragment </p>
  
  <p>EDIT: I checked up taking out the ui:fragment and it does seem to be the culprit. I would really like to understand whats happening</p>