Note that there are some explanatory texts on larger screens.

plurals
  1. POui:fragment causing backing bean to not update?
    primarykey
    data
    text
    <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>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload