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

使用AJAX的JSF表单发布

陈欣荣
2023-03-14
问题内容

我希望以下表格使用AJAX。因此,在单击命令按钮后无需重新加载页面即可显示注释。使用Java Server Faces 2.0需要更改什么?

功能:此表单提供了一个inputText来定义主题。按下命令按钮后,将搜索有关此主题的注释。注释显示在dataTable中(如果有)。否则显示为

<h:form id="myForm">
    <h:outputLabel value="Topic:" for="topic" />
    <h:inputText id="topic" value="#{commentManager.topic}" />
    <h:commandButton value="read" action="#{commentManager.findByTopic}" />
    <h:panelGroup rendered="#{empty commentManager.comments}">
        <h:outputText value="Empty" />
    </h:panelGroup>
    <h:dataTable
        id="comments"
        value="#{commentManager.comments}"
        var="comment"
        rendered="#{not empty commentManager.comments}"
    >
        <h:column>
            <h:outputText value="#{comment.content}"/>
        </h:column>
    </h:dataTable>
</h:form>

问题答案:

您需要告诉命令按钮改用Ajax。这就像在其中嵌套<f:ajax>标签一样简单。您需要指示它通过提交整个表单execute="@form"并渲染ID的元素comments通过render="comments"

<h:commandButton value="read" action="#{commentManager.findByTopic}">
    <f:ajax execute="@form" render="comments" />
</h:commandButton>

不要忘记确保在主模板中使用a <h:head>而不是a <head>,以便必需的JSF ajax JavaScripts将自动包括在内。

<h:head>
    ...
</h:head>

同样,具有ID的元素comments必须 已经 由JSF呈现给客户端,以便能够再次被JavaScript /
Ajax更新(重新呈现)。所以,最好是把<h:dataTable>一个<h:panelGroup>与该ID。

<h:panelGroup id="comments">
    <h:dataTable rendered="#{not empty commentManager.comments}">
        ...
    </h:dataTable>
</h:panelGroup>


 类似资料:
  • 问题内容: 我正在使用tinyMCE通过AJAX进行文本区域和POST表单。 但是,当我尝试保存textarea值时,第一次单击时将使用旧值,而第二次单击时将使用更新的值。 我尝试使用,但没有用。 我也尝试过,但它仍然需要旧的价值观。 我的代码如下。 请帮助,任何帮助将不胜感激 问题答案: 用这个代替

  • 问题内容: 我想以ajax的形式发送所有输入。我有这样的形式。 在.js文件中,我们有以下代码: 但这不起作用。我不想使用Form数据。 问题答案: 只要我们要发送具有名称属性的所有表单输入字段,就可以对所有表单执行此操作,而与字段名称无关: 第一个解决方案 第二个解决方案 :在此解决方案中,您可以创建一个输入值数组:

  • 问题内容: 我正在研究一个JSF表单原型,以使用AJAX数据验证将数据插入数据库表中。这是JSF页面: 这是托管bean: 我在实施表单验证时遇到困难。我想将使用过的字符串输入,并将其检查到数据库中,该值是否已进入数据库表中。在这里,我正在调用Java方法来检查值: 如何将插入的值发送到Java方法? 最好的祝愿 问题答案: 您需要创建一个。 开球示例: 如下使用它: 请注意,您应该使用显示验证消

  • 问题内容: 我有以下代码,但是当我从页面重定向提交时。我希望能够使用jquery / ajax向其发布内容,以便提交时页面不会刷新。有人可以给我看一个jsfiddle演示吗? 问题答案: 看一下jQuery :

  • 问题内容: 我已经检查了很多有关django AJAX表单的教程,但是每个教程都告诉您一种实现方法,它们都不是简单的,而且由于我从未使用过AJAX,所以我有点困惑。 我有一个名为“ note”的模型,它的模型形式,并且在模板内,我需要每次note元素发送stop()信号(来自jQuery Sortables)时django更新对象。 我当前的代码: views.py JavaScript: 当前代

  • 问题内容: 我正在尝试使用包含CSV文件的AJAX提交表单。因此,想法是使用ajax发送表单,通过生成表在不同文件中对其进行处理,然后将处理后的表回调回页面。 我所拥有的是 JavaScript是 我在萤火虫中遇到这种错误, 我在这里做错了什么?请帮我 问题答案: 不要将文件传递到构造函数中,而应使用append,例如: