2011-09-26 60 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