2011-09-13 43 views
0

根據我以前的文章,使用後端的自定義組件創建了一個面板(請參閱 - Help on JSF 2.0 Custom Components and Primefaces),並將輸入文本,列表框,下拉菜單,selectoneradio等面板填充到面板。如何在點擊按鈕時保存這些值?我對視圖沒有任何要求 - (前端)所有的處理都必須在後端完成。同樣的例子會很有幫助。Jsf 2.0使用Primefaces的自定義標籤

這是我做了什麼 -

private Panel myPanel; 

public Panel getMyPanel() { 
    return myPanel; 
} 

public void setMyPanel(Panel myPanel) { 
    this.myPanel = myPanel; 

    if (myPanel.getChildCount() <= 1) { 
     InputText input = new InputText(); 
     input.setValue("my dynamic text"); 
     myPanel.getChildren().add(input); 
    } 
} 

在此先感謝

+0

不明白可能是你可以頁面的一些代碼(xhtml)。你可以使用支持bean來保存值,例如#{person.name}等 – Shahzeb

+0

我已經添加了我所做的。我現在如何保存我插入到標籤中的值? – JaveDeveloper

回答

1

你需要給所有動態創建UIFormUIInputUICommand組件固定 ID。

input.setId("someId"); 
// ... 

否則JSF無法在視圖狀態下找到它們來處理提交的值。

+0

好的。那麼我怎麼能用Id保存它們呢? – JaveDeveloper

+1

咦?你什麼意思?將輸入組件綁定到模型值?使用'setValueExpression()'''{bean.value}'而不是'setValue()' – BalusC

+0

我有一個保存按鈕。所以點擊那個按鈕,我必須將值綁定到backingbean。 – JaveDeveloper