簡體   English   中英

為什么我的f:ajax無法與h:selectOneMenu一起使用?

[英]Why doesn't my f:ajax work with h:selectOneMenu?

使用JSF 2.0,Glassfish 3.2,Primefaces 2.2.1

我有一個包含幾個復合組件的頁面。 在這些組件之一中,我有一個h:selectOneMenu。 我試圖添加f:ajax以在選擇新值時調用方法。

這是頁面中的h:selectOneMenu組件的外觀:

<h:selectOneMenu id="selectRmDD" styleClass="editSelectRmDD" value="#{scheduleEditSessionBean.selectedRoom}" >
    <f:selectItems id="roomList" value="#{scheduleEditSessionBean.roomList}"/>
    <f:ajax listener="#{scheduleEditSessionBean.selectRmDD_processValueChange}" event="valueChange" render="@form" />
 </h:selectOneMenu>

當我從h:selectOneMenu中選擇一個新項目時,將調用偵聽器函數,但selectedRoom中的值為null。 我也在調試器中進行了查看,甚至AjaxBehaviorEvent中組件的SubmittedValue也為null。 這是在選擇新值和selectedRoom的定義時調用的方法:

 public void selectRmDD_processValueChange( AjaxBehaviorEvent ae) {
    String s = getSelectedRoom();
    System.out.println( "Selected room = "+s );
    if( s != null )applyRoomBtn_action();
 }

private String selectedRoom = "1";
public String getSelectedRoom() { return this.selectedRoom; }
public void setSelectedRoom(String s) { this.selectedRoom = s; }

有什么想法為什么價值沒有被填補?

謝謝。

roomListSelectItem在處理表單提交時將null或空字符串作為值時,將發生這種情況。 沒有其他原因出現,可能是因為String.classConverter不能正常工作,但是應該影響到所有綁定到String屬性的輸入。

暫無
暫無

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

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