2011-09-26 51 views
0

我正在使用JSF 2.0並嘗試使用數據表顯示數據列表。在獲取數據後,我在每一行都有按鈕,在這個按鈕上它必須將一些字段作爲輸入參數,然後保存它。獲取值的問題,JSF數據表

<h:dataTable id="dt1" value="#{vendorApp.editQtnList}" var="qList" > 
<h:column> 
    <f:facet name="header"> 
    <h:outputText style=""value="RFQ Number" /> 
    </f:facet>      
<h:column> 
<f:facet name="header"> 
<h:outputText value="Vendor Number"/> 
</f:facet> 
<h:outputText value="#{qList.vendorNumber}"></h:outputText> 
</h:column> 
<h:column> 
<f:facet name="header"> 
<h:outputText value="RFQ Date"/> 
</f:facet> 
<h:outputText value="#{qList.rfqDate}"></h:outputText> 
</h:column> 
<h:column> 
<f:facet name="header"> 
<h:outputText value=""/> 
</f:facet> 
<h:inputText id="adComment" value="#{qList.adminComment}"></h:inputText> 
</h:column> 
<h:column> 
<f:facet name="header"> 
<h:outputText value=""/> 
</f:facet> 
<h:form> 
<h:commandButton id="rejectBtn" value="Reject" action="#{vendorApp.rejectEditQuotation}"> 
<f:param name="vendorNum" value="#{qList.vendorNumber}" /> 
 <f:param name="rfqNum" value="#{qList.rfqNumber}" /> 
<f:param name="adComment" value="#{qList.adminComment}" /> 
</h:commandButton></h:form> </h:column> </h:dataTable> 

在我上面的代碼中,editQtnList是列表中的getter方法這給從database.Now用戶獲取列表可以通過證明在提供的文本框中鍵入註釋點擊拒絕,我已經試過這如圖所示,但評論的價值並不令人滿意......需要對此提出建議。

+0

您是否嘗試過包裝你的整個表格的形式:

如下重寫你的看法? –

回答

1

所有輸入的字段必須放在的相同表單中作爲提交按鈕。

<h:form> 
    <h:dataTable value="#{vendorApp.quotations}" var="quotation"> 
     ... 
     <h:column> 
      <h:inputText value="#{quotation.adminComment}" /> 
     </h:column> 
     <h:column> 
      <h:commandButton value="Reject" action="#{vendorApp.rejectEditQuotation(quotation)}" /> 
     </h:column> 
    </h:dataTable> 
</h:form> 

public void rejectEditQuatation(Quotation quotation) { 
    // ... 
} 
+0

謝謝你的回覆......你建議使用public void rejectEditQuatation(Quotation quotation),如果在arg列表中的引用是相應的bean或... ???有點困惑kinldy幫我 – Mango

+0

是的,是的。根據您的問題歷史記錄,您正在使用Java EE 6/Servlet 3.0(它與EL 2.2一起支持傳遞方法參數),所以這應該適用於您。另見http://stackoverflow.com/questions/4994458/how-can-i-pass-a-parameter-to-a-commandlink-inside-a-datatable – BalusC