0

请看以下代码:

<h:panelGrid columns="2" border="0" cellpadding="0" cellspacing="0">

    <p:inputText id="text" value="#{xTest.input}">

         <p:ajax process="text" update="searchResult" event="keyup" />

    </p:inputText>

    <h:panelGroup layout="block" id="searchResult" style="border: none;">

         #{xTest.input}

    </h:panelGroup>

</h:panelGrid>

xTest只是一个假豆,有一个字段来保存input,在panelGroup.

现在只要我不在@formajax 标记中更新,它就可以正常工作。如果我这样做了,ajax 标记将触发第一个键,但不会在任何后续键之后触发。我已经看到 Balusc 关于 commandLink/button 问题的回答:未调用 commandButton/commandLink/ajax action/listener 方法或未更新输入值,这可能与该列表中的 no 7 有关。但是,我不明白,我想知道我能做些什么来解决这个问题。

4

1 回答 1

1

在我看来,JSF 2.2 没有正确发布。它有一些奇怪的错误,目前修复时间很慢。我可以告诉你的是:

  1. 有一些东西适用于新命名空间,有些适用于旧命名空间。您可以尝试切换它们并测试
  2. jsf.js 存在错误,特别是如果您使用多部分表单:请参阅错误
  3. 如果您渲染包含表单的组件,请尝试在渲染中添加表单render='comp @form。(可能有帮助)
  4. 我建议切换回 JSF 2.0 并迁移到 2.2.* 当它具有足够的质量时
于 2013-07-05T14:08:56.480 回答