2012-12-16 140 views
0

在我的JSF應用程序中,我有一個包含多個inputtext組件的頁面。當顯示頁面時,這些輸入文本組件會填充來自數據庫的數據。當我點擊提交按鈕時,我想將這些值作爲參數傳遞給下一個facelet。jsf inputtext to bean

發生了什麼事時,我打提交,舊的值被傳遞,而不是用戶在已輸入更新的值是這裏是什麼inputText的組成部分之一的樣子:

  <div align="center"> 
       <h:outputLabel value="Product Quantity " /> 
       <h:inputText id="quantity" value="#{product.quantity}" /> 
      </div> 

然後,在提交按鈕,我想獲得的是,在用戶類型的值:

   <h:button value="Save Edits" outcome="welcome"> 
        <f:param name="quantity" value="#{product.quantity}" />      
       </h:button> 

比方說,100是該字段被填充了原始數量。當用戶將其更改爲110並點擊提交時,歡迎facelet仍認爲100是值。有任何想法嗎?

+0

你必須使用'h:commandButton'而不是一個普通的'h:button',這應該修復它! –

回答

1

是否有任何特別原因決定使用<h:button/>而不是<h:commandButton/>?因爲這就是爲什麼你的參數不能夠進入下一個頁面

<h:commandButton/>過程這是包<h:form/>,提交的原因是內容的POST請求的服務器(在等的JSF處理生命週期踢),而<h:button/>將產生一個GET請求。 <h:button/>通常用於導航。堅持<h:commandButton/>如果你想做更多的導航

+0

就像一個側欄,我有一個產品bean和一個ProductList bean在我的應用程序。 ProducList只有一個ArrayList 。我有應用程序設置,只允許用戶將產品添加到數據庫,並且我試圖在一個表中顯示它們。這些項目在數據庫中,我可以看到它們,但由於某種原因,表格顯示了2個int值,並且構成一個Product對象的2個字符串顯示爲空白,導致我相信產品正在被覆蓋?它可能與範圍有關嗎? – user1154644

+0

@ user1154644如果沒有看到代碼,很難確定發生了什麼,但是,支持bean的範圍可能是原因。你是說在數據表中顯示兩行空行嗎? – kolossus

+0

好吧,產品的屬性是int,string,string,int。該表顯示0爲int列,空白爲2個字符串列。你有什麼建議嗎?我認爲現在ProuctList和Product beans沒有任何範圍註釋,但我無法弄清楚是否應該讓它們成爲應用程序或查看範圍。這只是一個幾乎完成的學校任務,這是我無法想象的唯一的事情。 productlist是我正在迭代顯示錶的內容。 – user1154644