java - 在 JSF 2.0 中混合 Ajax 和完整请求

标签 java ajax jsf jsf-2 listener

给我带来问题的 JSF 代码如下:

<h:panelGrid columns="3">
          <!-- Minimum Password Length -->
          <h:outputText value="#{i18n['xxx']}:" />
                        <h:inputText id="minLength"
                                     value="#{passwordPolicies.minLength.paramValue}"
                                     required="true">
                            <f:validateLongRange minimum="1"/>
                            <f:ajax event="valueChange"
                                    render="@this minLengthMessage"
                                    listener="passwordPolicies.testListener"/>
                        </h:inputText>
                        <h:message id="minLengthMessage"
                                   for="minLength"
                                   errorClass="error"
                                   tooltip="true"/-->
                <!-- Many other validation fields -->
<h:panelGrid/>

首先,我有一个非常相似的问题:f:ajax listener never fired .我必须在我的 JSF 页面上结合 Ajax 和完整请求。 Jim Driscoll @ java.net说为了让这两个工作,必须设置一个 Ajax 错误监听器?这与 ajax 标记的 listener 属性有很大不同吗?

现在,我知道我可以尝试 Primefaces p:inputText 和 p:ajax 标签,但这些需要我为所有经过验证的字段单独监听。有没有办法修复 f:ajax 错误监听器,以便被触发并且不会得到讨厌的东西:

enter image description here

感谢任何输入!

最佳答案

您需要让您的命令按钮改为触发 ajax 请求。

<h:commandButton value="Submit" action="#{bean.submit}">
    <f:ajax execute="@form" render="@form" />
</h:commandButton>

那些<f:ajax>听众不是强制性的。它们只是在 Jim 的文章中用作示例来说明竞争条件。哪个先被调用?显然,您希望首先调用监听器。

可以在this chapter中找到几乎同一种形式的实际例子。的 this tutorial .只有blur被用来代替 valueChange ,因为 valueChange模糊 required="true" 时不会调用保持为空的字段导致“需要值”消息永远不会显示在此类字段上。

关于java - 在 JSF 2.0 中混合 Ajax 和完整请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5262897/

相关文章:

java - Java中的字符串到未知数字类型

javascript - url 中的这个字符串意味着什么#!?

javascript - 使用 AJAX 将数据存储在 MySQL 服务器数据库中

javascript - 使用js ajax从html发布到php帖子

Java 死锁与 Eclipse CDT headless 构建

JavaFX - 通过输入更新 WebView 中变量的值

java - Neo4j SPARQL 查询停止工作

java - Primefaces InputStream 在文件下载中生成损坏的 PDF

java - 为什么国际化不能正常运作?日本科学基金会

jsf - 如何找到 JSF 页面的正确 URL?在 IntelliJ IDEA 中打开导致 404