【问题标题】:problem in fetching values,JSF-data table取值问题,JSF 数据表
【发布时间】:2011-11-25 01:10:33
【问题描述】:

我正在使用 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 是 list 的 getter 方法,它提供从数据库中获取的列表。现在用户可以通过在提供的文本框中提供注释来单击拒绝,我已经尝试过如图所示,但是评论没有被获取..需要对此提出建议....

【问题讨论】:

  • 你试过用表格包裹你的整个桌子吗?

标签: java javascript jakarta-ee jsf-2 datatable


【解决方案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) {
    // ...
}

【讨论】:

  • 感谢您的回复...您已建议使用 public void rejectEditQuatation(Quotation quote),您能确认一下 arg 列表中的 Quotation 是相应的 bean 还是...? ??有点困惑,请帮帮我
  • 是的。根据您的问题历史记录,您使用的是 Java EE 6 / Servlet 3.0(与支持传递方法参数的 EL 2.2 一起提供),所以这应该适合您。另见stackoverflow.com/questions/4994458/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 2012-07-20
  • 2011-10-29
  • 2011-07-18
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多