a4j:support 在 ajax 调用 jsf

问题描述

我有一个表单,其中有一个选择字段 (selectOneMenu),其中包含用户选择的值和一组值。我的问题是在使用 a4j:support 选择数组的一行时,ajax 调用是空的用户选择。 如何确保在选择一行时 ajax 调用不会清空我选择中的选定值。

例如,用户选择 Item1,在从数组中选择一个值后,组件 a4j:support 对托管 bean 进行 ajax 调用并清空选择项 Item1。如何避免这种情况?

<h:selectOneMenu value = "#{userData.data}"> 
   <f:selectItem itemValue = "0" itemLabel = "" /> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
</h:selectOneMenu>  
<rich:extendedDataTable id="tab_listElem" value="#{myBean.listElems}" 
                          var="elem" selectionMode="single" width="100%" enableContextMenu="false"
                          selectedClass="selectedRow"
                          rowClasses="hoverPointer odd-row,hoverPointer even-row" height="120px"
                                    rendered="#{not empty myBean.listElems}" >
                                    
                            <a4j:support event="onRowClick"
                               onsubmit="document.body.className='wait';"
                               action="#{myBean.selectelem}"
                               oncomplete="document.body.className='';myInfo('#{myBean.dte}');
                               switchEvnt(#{rich:element('codEVT')});
                               newDCOErrors('#{myBean.tam}','#{myBean.Msg}');"
                               reRender="newPanel,dte,errorMsgs" >
                               <f:setPropertyActionListener value="#{elem}"
                                     target="#{myBean.selectedelem}" />    
                          </a4j:support>
                                     
                            <rich:column width="250" styleClass="dataTD">
                                <f:facet name="header"><h:outputText value="elem" /></f:facet>
                                <h:outputText value="#{elem.type}" />
                            </rich:column>
                            <rich:column width="250" styleClass="dataTD">
                                <f:facet name="header"><h:outputText value="Last Name" /></f:facet>
                                <h:outputText value="#{elem.lastname}" />
                            </rich:column>
                            <rich:column width="250" styleClass="dataTD">
                                <f:facet name="header"><h:outputText value="First Name" /></f:facet>
                                <h:outputText value="#{elem.firstname}" />
                            </rich:column>
                            <rich:column width="250" styleClass="dataTD">
                                <f:facet name="header"><h:outputText value="date" /></f:facet>
                                <h:outputText value="#{elem.dateExp}"><f:convertDateTime pattern="MM/yyyy" /></h:outputText>
                            </rich:column>
                            <rich:column styleClass="dataTD">
                                <f:facet name="header"><h:outputText value="Partenaire" /></f:facet>
                                <h:outputText value="#{elem.partenaire}" />
</rich:extendedDataTable>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)