当前位置: 首页 > 面试题库 >

JSF和Jquery AJAX-如何使它们一起工作?

祁正阳
2023-03-14
问题内容

我刚刚开始使用JSF,看起来很棒,但是我似乎无法弄清楚这最后的障碍。

我习惯了传统的Jquery AJAX函数,这在我的书中很完美。但是我希望找到一种方法使其与JSF协调工作。

这是一个说明我的情况的方案。

我的网站上有一个消息传递页面,用户可以在其中互相发送消息。所以在我的xhtml页面中,我看起来像这样:

<h:form>
<h:inputTextarea id="newMessageContent" value="#{conversationBean.newMessage}"/>
<h:commandButton value="#{siteLang.messages_send}" action="#{conversationBean.sendMessage}">
     <f:ajax render=":conversationMessages" execute="newMessageContent"/>
</h:commandButton>
</h:form>

效果很好。用户可以发布他们的消息,并将其加载到上面的对话div中。但是现在我需要添加一些功能。-用户单击时,应禁用按钮和文本区域,以避免交互,直到操作完成为止。然后将出现一个加载程序-
当JSF完成它的工作时,应该启用textarea和按钮,并且加载程序应该消失…并且焦点重新回到textarea。

在Jquery中,我只会做这样的事情:

$.ajax{
    beforeSend: function (){
         // Disable textarea and button, show loader
    },
    complete: function () {
         // Do the inverse of above
    }
}

谢谢您的帮助!


问题答案:

将所需的onevent="jsFunctionName" (无括号)添加到您的<f:ajax

jsFunctionName应该看起来像

function openDeleteDevicesDialog(data) {
    console.log(data.status); //while ,data.status can be 1)"begin" 2)"complete" 3)"success"
    if (data.status === 'begin') {...}
    if (data.status === 'complete') {...}
    if (data.status === 'success') {...}
}

因此您应该输入3次此功能

的onclick h:commandButtonf:ajax偶数开始之前执行…)

请注意,通常您将在whendata.status === 'success',页面完成渲染且DOM处于最终形状/状态时执行代码



 类似资料:
  • 问题内容: 我想为它的onTapDown回调使用GestureDetector,但也具有不错的InkWell飞溅效果。 可以同时使用这两个吗? 问题答案: 如果要无条件处理指针向下事件而不会造成歧义,可以将InkWell设为Listener的子级,并设置onPointerDown处理程序。 例如: 向InkWell添加onTapDown处理程序可能是有意义的。

  • 问题内容: 一个星期以来,我一直在思考Webmachine应用程序中Redis使用的问题。而且我还没有开悟。 我将使用Eredis,这是用法示例: 据我了解,应该只在某个地方调用一次。但是,如何获得资源的可变性呢? 问题答案: 有几种解决方案: 在本地或全局注册Redis连接 使用gproc之类的进程寄存器 将连接的pid保留在webmachine资源上下文中 使用连接池,例如pooler或poo

  • 问题内容: Django的新手,ReactJS的新手。我一直在研究AngularJS和ReactJS,但是决定使用ReactJS。尽管AngularJS拥有更多的市场份额,但它似乎正在逐步超越AngularJS的知名度,并且据说ReactJS更快地被接受。 撇开所有垃圾,我开始学习Udemy的课程,并看了几段视频后,查看它与Django的集成程度似乎很重要。那就是当我不可避免地碰壁只是要启动并运行

  • 问题内容: 目前正在做一些考试,我正在努力学习一些概念。我的笔记中确实“提到”了所有这些内容,但我并不真正了解它们如何相互联系。据我了解: SOA-使服务使用者/提供者进行通信的解决方案。(据我了解,这是所有其他内容的总称) WSDL-一种描述提供程序服务的语言。 SOAP-服务用来发送消息的XML协议“包装器”。与WSDL协同工作以提供参数? REST-一种功能类似于SOAP但避免使用XML的设

  • 校验者: @片刻 翻译者: @X 模型管道化 我们已经知道一些模型可以做数据转换,一些模型可以用来预测变量。我们可以建立一个组合模型同时完成以上工作: import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model, decomposition, datasets from sklearn.p

  • 问题内容: 运行代码时出现该错误。好的,很好-我只是忘记了获取XMLBeans …,但是它已经退休了,我在他们的档案中找不到最新版本。因此,我发现JAXB可以替代,我下载了JAXB并尝试将jar文件添加到Intellij的库中,但是在寻找XMLBeans依赖项时仍然遇到相同的错误。 如何获得Apache POI以使用JAXB代替XMLBeans?为什么JAXB有7种不同的jar文件,而我却找不到它