当前位置: 首页 > 知识库问答 >
问题:

tabView中的dataTable使用错误的dataType

法烨华
2023-03-14

我试图在一个表格视图中显示一个数据表。

目前我的xhtml中的代码如下所示:

    <p:tabView id="tabView" value="#{volumeController.shownSeries}" var="serie" cache="false">
        <p:tab title="#{serie.name}">
            <p:dataTable value="#{volumeController.findVolumesForSeries(serie.id)}" var="volume">
                    <p:column>
                        <h:outputText value="#{volume.volumeNumber}"/>
                    </p:column>
                </p:dataTable>
            </p:tab>
        </p:tabView>

所以,现在我的问题是,我得到以下错误:

javax.el.PropertyNotFoundException: /Volume/list.xhtml @22,89 value="#{volume.volumeNumber}": The class 'at.kirin.entity.Series' does not have the property 'volumeNumber'.

问题是,这是我在volumeController中的方法:

public List<Volume> findVolumesForSeries(long id) {
    List<Volume> v = volumeFacade.getVolumesForSeries(id);
    return v;
}

因此,我在控制器中返回一个卷列表,但是Glassfish将其解释为一个系列列表。我试图用。toString(),但它只显示。我的系列的toString()。

我的卷实体有一个字段“卷号”,控制器中的方法被调用为每个选项卡。

我哪里出错了,还是Primefaces中的错误?(我使用的是4.0)

问候麒麟

共有1个答案

韦衡
2023-03-14

所以,最后我找到了我的错误。

在我的JPA-Query中,我将整个列表作为一个列表返回。不知何故,它跳过了我的方法中的所有赋值(见上面的‘findVolumesForSeries’),只是在用户界面中抛出了错误。

这是我见过的最奇怪的错误,但对于其他发现这个问题的人来说:检查您的方法是否都返回了正确的数据类型-不知何故Java在这里搞砸了。

 类似资料:
  • 我正在使用DataTable组件,我非常简单的目标是使用内联命令按钮删除一行。这是dataTable组件的代码。 “dobavljac”是我需要使用action=“#{dobavljacMB.obrisi(dobavljac)}”删除的实体 具有删除功能"obrisi"的托管bean类如下: Dobavljac类是一个简单的POJO类,由IDE生成,因此无需发布。问题是,当调用该方法时,它抛出一个

  • 我有两个类:停车场和汽车。公园有一个ID和一个汽车列表。我想在数据表中显示带有标签的停车场和汽车列表。问题是我无法在数据表中找到汽车的车牌号。当我尝试在Netbean中自动完成时,它会显示可能的公园字段(公园ID和汽车列表)。为什么?有什么想法如何修复它吗?

  • 我想用jQuery DataTable进行多列筛选,但我得到一个错误,不知道如何解决。 错误:$(...)DataTable不是函数类型错误:$(...)。DataTable不是函数未捕获的类型错误:无法读取未定义的属性“column” 你能帮我解决这个错误吗? 我的HTML代码,

  • 我最近转到了Eclipse的Intellij 2017 IDEA。 使用此方法时: 多谢了。

  • 我有一个表单,其中包含所需的数据,我使用了以下代码: 在同一页面上有一个datatable,它包含我通过表单添加的对象(付款)。添加对象后,我使用以下代码对datable进行更新以添加新对象: 我遇到的问题是,当数据没有输入,我单击按钮,更新完成,表显示为空!但是,验证消息正确地显示为强制数据。 datatable是 我在CDI中使用,因为托管bean如下所示://import //类 }

  • 我正在使用JSF2。0和PrimeFaces3。1和3。1用于业务逻辑。我试图使用DataTable—延迟加载。但它给了我以下的错误。请帮忙。 发生错误: