我有一个带有自定义转换器的Primefaces订单清单。基本上它是将Document对象转换为Json表示或从Json表示转换。我相信从对象到Json的转换是正确的。 Chrome浏览器“元素检查”在data-item-value属性中显示正确的Json:
<li class="ui-orderlist-item ui-corner-all ui-sortable-handle"
data-item-value="{ "order" : 0, "label" : "label", "values" : ["Hey0", "0"] }"><table><tbody><tr><td>[Hey0, 0]</td></tr></tbody></table></li> ...
但是在回复的ajax上,提交的值变为:
main-form:rows_values:[object Object]
我希望“object”是data-item-value属性中的json。因此无法转换为对象成功。因此,很可能是由于facelets页面中的错误使用:
<p:orderList id="rows" value="#{bean.rows}" converter="datarow" itemValue="#{row}" var="row">
<p:column>
#{row.values}
</p:column>
</p:orderList>
但是这种用法是从Primefaces展示中复制的。那有什么不对?
我正在使用Mojarra 2.2.12,Primefaces 6.1。