簡體   English   中英

RichFaces的 - A4J:AJAX使用兩個動態列表時,不被觸發

[英]RichFaces - a4j:ajax is not being triggered when using two dynamic lists

出現錯誤的代碼如下:

<h:form>
    <rich:select defaultLabel="Seleccionar región" value="#{StaticInfo.regionElegida}">
        <f:selectItems value="#{StaticInfo.regiones.entrySet()}" var="region" itemValue="#{region.key}" itemLabel="#{region.value}" />
        <a4j:ajax event="change" render="provs" listener="#{StaticInfo.updateProvincias}" />
    </rich:select>
    <rich:select id="provs" defaultLabel="Seleccionar provincia" value="#{StaticInfo.provinciaElegida}">
        <f:selectItems value="#{StaticInfo.provincias.entrySet()}" var="prov" itemValue="#{prov.key}" itemLabel="#{prov.value}" />
        <a4j:ajax event="change" render="texto" />
    </rich:select>
    <h:outputText value="#{StaticInfo.provinciaElegida)}" id="texto" />
</h:form>

該名單顯示正確的項目和豆為所需的getter和setter provinciaElegida 現在,第二個選擇項將取決於第一個選擇中選擇的項。 由於某種原因,outputText元素未顯示任何結果。

謝謝。

取而代之的<a4j:ajax event="change" render="texto" />你可以嘗試使用<a4j:support/>

<h:selectOneMenu id="selectOneMenu"  value="#{Bean1.val1}" >
    <f:selectItems value="#{Bean1.selectItems}"/>
    <a4j:support event="onchange" action="#{Bean1.onSelectOneMenuChange}" reRender="textbox1"   />
 </h:selectOneMenu>

<h:inputText id="textbox1" value="#{Bean1.textbox1}"> </h:inputText>

只是為了讓我不會懸而未決...

問題在於該bean是Request范圍的。 正如Luiggi解釋的那樣:

當ManagedBean為RequestScoped時,將為每個請求(甚至ajax請求!)也都將創建它。 如果您的托管bean必須處理在同一視圖超過1個請求時,它必須有ViewScoped。

我試圖在一個視圖中提交多個請求,從而“重置” bean並有效地殺死了它應該執行的操作。 當我將bean更改為@ViewScope時,它運行良好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM