OpenFaces建议字段不会触发服务器端事件



我有一个问题与OpenFaces建议字段。

我创建了一个站点,其中有一个建议字段,并将建议模式设置为"自定义"。然后我添加了一个dropDownItems子标签,它应该显示所有的项目,对吧?

嗯,这就是我的问题,下拉菜单项在开始时是空的(因为在数据库中有20k+项),当用户开始在字段中键入一些东西时,应该填充已经预先过滤的项目。但是,该方法永远不会触发…

下面是后台bean中字段和受影响方法的代码:

<o:suggestionField id="adr" value="#{addressBean.selectedAddressString}" suggestionMode="custom" valueChangeListener="#{addressBean.valueChanged}">
    <f:ajax event="change" execute="adr" render="region x y"></f:ajax>
    <o:dropDownItems value="#{addressBean.addressStrings}"/>
</o:suggestionField>
public List<String> getAddressStrings() {
    String filter = Faces.var("searchString", String.class);
    logger.debug(filter);
    return filter(filter);
}

过滤器方法的方法头是:

private List<String> filter(String filter);

根据这个站点,"自定义"模式应该向服务器发送ajax请求。

我添加了valueChangeListener属性,因为我希望至少这会被触发,但我也有问题,或者有些事情是非常错误的…

无论如何,这里是这个方法的代码(是的,它只记录;-))

public void valueChanged(ValueChangeEvent vce){
    logger.debug("something changed "+vce.getNewValue());
}

我知道所有组件都有很多不同的版本,可能每个解决方案看起来都不一样,下面是我使用的版本:

  • 操作系统:Windows 7
  • 服务器:Tomcat 7.0.42
  • Java: 1.7.0_51
  • JSF: 2.2 (Mojarra 2.2)
  • OpenFaces: 3.1.EA1.1287

每一个答案都是赞赏的,提前感谢。: -)

好了,我找到我的问题了。

Openfaces 3。x(包括当前的夜间构建)与JSF 2.2(或至少2.2.6+)不完全兼容。正如nightly-doc所说,它目前与2.1.11兼容。

不兼容性症状之一是建议字段未触发服务器端事件。

相关内容

  • 没有找到相关文章

最新更新