【问题标题】:primefaces autocomplete event itemSelect listener value null in ManagedBeanManagedBean中的primefaces自动完成事件itemSelect侦听器值null
【发布时间】:2013-02-07 08:09:07
【问题描述】:

我正在使用 Primefaces 3.4.2 自动完成功能。

在 ManagedBean 中,当我在自动完成中键入字符时选择一行时,我无法获取方法 handleSelect(SelectEvent event) 中的值{

这可能是什么原因?理想情况下,当我从自动完成值中选择一行时,我想填充或填充 jsf 页面中的其他列。

自动完成的 JSF 代码

<p:autoComplete value="#{empMB.selectedEmployee}"
                            id="basicPojo" minQueryLength="3" 
                            completeMethod="#{myMB.complete}" var="p"
                            itemLabel="#{p.empName}" 
                             converter="#{employeeNameConverter}"
                            forceSelection="true" >                           
                            <p:ajax event="itemSelect" 
                            listener="#{myMB.handleSelect}" /> 

ManagedBean 方法

public void handleSelect(SelectEvent event) {
String value = (String) event.getObject();
System.out.println("selected "+value);

【问题讨论】:

    标签: java jsf-2 primefaces


    【解决方案1】:

    原因是您没有在p:autoComplete 组件中提供itemValue 属性。

    【讨论】:

    • Partlov 在 primefaces example 中,没有定义 itemValue 属性。
    • 除了itemValue属性转换器是必须的吗?
    • Partlov 是的,你是对的,我添加为 itemValue="#{p.empName}" 并且我能够在 ManagedBean 中获得选定的值
    • 当然它被定义为itemValue="#{player}",在第一个示例中值只是字符串,而不是 POJO。如果您可以从 POJO 字段(一些字符串、整数...)中定义一些基本类型的值,则不需要转换器。
    猜你喜欢
    • 2013-09-08
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 2014-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多