【问题标题】:Unable to send parameter from JSF to Bean through datatable value attribute无法通过数据表值属性将参数从 JSF 发送到 Bean
【发布时间】:2018-01-24 16:14:45
【问题描述】:

我有一个扩展数据表,它由后端的 Arraylist 填充,其中 id 作为主键。展开行时,必须在另一个表中搜索特定于 id 的行,并且必须显示所有行。当我尝试将 id 作为 value 属性中的参数传递时,它会给出类转换异常。

这是 XHTML 代码

<h:form>
    <p:dataTable var="data"
        value="#{trackerList.trackerList}">
        <f:facet name="header">Summary</f:facet>
        <p:column style="width:16px">
            <p:rowToggler />
        </p:column>

        <p:column headerText="ID">
            <h:outputText value="#{data.id}" />
        </p:column>

        <p:column headerText="Status">
            <h:outputText value="#{data.status}" />
        </p:column>

        <p:column headerText="Created Time">
            <h:outputText value="#{data.createdTime}" />
        </p:column>

        <p:column headerText="Created By">
            <h:outputText value="#{data.createdby}" />
        </p:column>

        <p:column headerText="Updated By">
            <h:outputText value="#{data.updatedby}" />
        </p:column>

        <p:rowExpansion>
            <p:dataTable var="metadata" value="#{statusList.getScenarioStatusList(data.id)}">
                <p:column headerText="Requirements">
                    <h:outputText value="#{metadata.requirements}" />
                </p:column>

                <p:column headerText="Exam Name">
                    <h:outputText value="#{metadata.examName}" />
                </p:column>

                <p:column headerText="Status">
                    <h:outputText value="#{metadata.status}" />
                </p:column>

            </p:dataTable>
        </p:rowExpansion>
    </p:dataTable>
</h:form>

请帮忙。

【问题讨论】:

    标签: jsf primefaces datatable rowexpansion


    【解决方案1】:

    我认为您需要在 p:datatable 标记内定义下面的行,并将 id 作为参数传递,而不是子数据表中的 #{statusList.getScenarioStatusList(data.id)} 您只需执行 value= "#{yourBean.scenarioStatusList }”。在 loadLists(data.id) 方法中填充scenarioStatusList。

    <p:ajax event="rowToggle" listener="#{yourBean.loadLists(data.id)}"  />
    

    【讨论】:

    • 试过了..但同样的错误仍然存​​在......它为侦听器方法提供错误..它正在抛出 java.lang.Object;当我尝试在 loadList 方法中打印列表时,无法将其转换为 com.beans.ScenarioStatus 异常。
    • 它的工作.. 实际上铸造问题是在 DAO 类。谢谢您的帮助。 :)
    猜你喜欢
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多