【问题标题】:How can i transfer a column value to my managed bean?如何将列值传输到我的托管 bean?
【发布时间】:2012-10-10 08:16:11
【问题描述】:

我在 JSF 中使用数据表:

<h:dataTable  var="dataItem" value="#{operationsBean.creneauxMedecin}" border="1">
            <f:facet name="header">
                <h:outputText value="Rendez-vous de #{operationsBean.medecin.titre} #{operationsBean.medecin.prenom} #{operationsBean.medecin.nom} le #{operationsBean.txtJour}"></h:outputText>
            </f:facet>
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Créneau horaire"></h:outputText>
                </f:facet>
                    <h:outputText id="id" value="#{dataItem.hdebut}h#{dataItem.mdebut}-#{dataItem.hfin}h#{dataItem.mfin}"/>
            </h:column>
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Client"/>
                </f:facet>
                <h:outputText value="#{operationsBean.clt }"/>
            </h:column>
        </h:dataTable>

请问如何将列的 (((dataItem.id))) 值传输到我的托管 bean? N.B dataItem 是一个数据表行,包含(id,version,hdebut,mdebut....)

【问题讨论】:

    标签: jsf jakarta-ee datatable


    【解决方案1】:

    你必须在你的托管 bean 中实现一个动作监听器方法,并通过命令链接调用它并将参数作为标签的一部分传递,如果你用谷歌搜索你可以看到很多例子。

    <h:commandLink value="click me" actionListener="#{managedbean.actionListenerMethod}">
      <f:param name="paramInternalId" value="#{dataTableIter.id}" />
    </h:commandLink> 
    

    http://docs.oracle.com/javaee/5/tutorial/doc/bnaqd.html#bnaqj

    【讨论】:

    • 感谢您的回答,但我不想在我的 JSF 页面上显示 commandLink,我只能在我的页面上显示我的数据表的列。有没有其他方法可以做到这一点?
    • 我用它的 getter 和 setter 在我的托管 bean 中创建了一个私有 dataItem 属性,在我的 bean 中对其进行测试时它似乎不为空,但是当我尝试执行 dataItem.getId() 时,它会生成一个 java。 lang.NullPointerException
    猜你喜欢
    • 2016-12-26
    • 1970-01-01
    • 2015-12-02
    • 2014-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 2012-12-12
    相关资源
    最近更新 更多