获取值的问题,JSF数据表

问题描述 投票:0回答:1

我正在使用JSF 2.0并尝试使用数据表显示数据列表。获取数据后,每行都有按钮,在此按钮上,它必须将一些字段作为输入参数,然后保存。

<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方法,它给出了从数据库中获取的列表。现在用户可以通过在提供的文本框中证明注释来点击拒绝,我已经尝试过如图所示,但注释的值不是这个......需要建议....

java javascript java-ee jsf-2 datatable
1个回答
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 rejectEditQuotation(Quotation quotation) {
    // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.