jsf - 未设置 omnifaces.ListConverter 中的列表
问题描述
我正在使用 PrimeFaces 开发 JSF 应用程序。
对于 Picklist,我正在尝试使用 omnifaces.ListConverter,但未设置此转换器中的 list 属性。
报告-edit.xhtml
<p:pickList id="picklist_columns" value="#{reportingEditView.columns}" var="repcolumn"
itemLabel="#{repcolumn.column.name}" itemValue="#{repcolumn}" responsive="true"
showSourceFilter="true" filterMatchMode="contains">
<o:converter converterId="benni.ListConverter" list="#{reportingEditView.columns.source}"/>
<f:facet name="targetCaption">Spalten</f:facet>
<p:ajax event="transfer" listener="#{reportingEditView.handleColumnTransfer}"/>
报告EditView.java
@ManagedBean
@SessionScope
public class ReportingEditView
{
private DualListModel<RepColumn> columns;
public void initPickList()
{
List<RepColumn> availableColumns = new ArrayList<>();
List<RepColumn> selectedColumns = new ArrayList<>();
... populate availableColumns and selectedColumns ...
this.columns = new DualListModel<RepColumn>();
this.columns.setSource(availableColumns);
this.columns.setTarget(selectedColumns);
}
}
所有列都显示在我的 PickList 中,但是当我将源列表中的一列放入目标列表时,会抛出 NullPointer,因为未设置转换器中的列表。
传输 PickList 中的元素时,也不会调用侦听器方法。
任何想法我做错了什么?
解决方案
真丢人!
我解决了这个问题。我不知道如何,但xmlns:o="http://java.sun.com/jsf/core"
在我的reporting-edit.xhtml 中有。将其替换为xmlns:o="http://omnifaces.org/ui"
一切都像魅力一样。
推荐阅读
- teradata - teradata 中的子字符串操作或正则表达式
- xamarin.forms - 如何更改 TimePicker 主题颜色?
- ios - 如何隐藏几个按钮是按钮数组?
- javascript - MVC View 用逗号替换点
- bash - 如何选择zsh中的所有项目?
- reactjs - 在 React 中重新加载当前页面而不丢失状态
- codeigniter - 如何修复,“在 null 上调用成员函数 row()”
- java - 根据垂直搜索栏调整图像大小?
- scala - 在 Spark 中将数据帧转换为 json 字符串
- ios - Mapview 委托功能在关闭包含 mapview 的 View Controller 后继续运行