由于我已经说过我的英语可能很不好,所以,我很抱歉。
我是JSF的新手,在rowkey
的{{1}}属性上遇到麻烦。它根本无法识别行ID,因为找不到我放入DataTable中的“ var”。请遵循以下代码:
p:dataTable
在甚至启动服务器测试IDE之前,我已经告诉我在“行键”行中他找不到我放置的引用,我进行了很多搜索,但找不到与我相同的错误。 我该怎么办?我做错什么了吗?我怎么会犯这个错误?
我在JSF 2.2上使用PrimeFaces 6.2(应提供版本信息和实现)
答案 0 :(得分:0)
由于您没有为List listaCategorias
中的元素提供代码,所以我需要做一些假设,但是假设这些元素具有属性idCategoria
并且该属性对于每个元素都是唯一的,rowKey
必须是String
或可以隐式转换为String
的东西。元素的Class必须具有一个公用的getIdCategoria()
方法,该方法返回唯一的String
对象或可以隐式转换为String
的对象。
如果检查提交可编辑数据表时发送的请求,您将看到每个更改的元素的rowKey值,从而允许服务器端代码确定该元素所引用的模型中的哪个对象。
答案 1 :(得分:0)
@snakedog首先,我想说我的英语不好,所以很抱歉。
在“类别”列表中,有一个公共的getId(),它返回一个唯一的id,它返回的此id的类型很长,因为在数据库中此id的列的类型是bigint。
我必须使其返回String才能使rowKey正常工作?问题是rowKey无法获得对我在var属性中所做的“类别”对象的引用,而且我还注意到当我打开标签<p:datatable>
并现在关闭时(因此<p: datatable ... />
),rowKey可以获取var引用,但是如果我打开标签(因此<p:datatable> ... </p:datatable>
),则rowKey不能再获取var引用。