我正在使用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方法,它给出了从数据库中获取的列表。现在用户可以通过在提供的文本框中证明注释来点击拒绝,我已经尝试了如图所示,但是评论不是feteched ..需要对此提出建议....
答案 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 rejectEditQuotation(Quotation quotation) {
// ...
}