【问题标题】:Strange Ajax response in JSF ajax listenerJSF ajax 监听器中奇怪的 Ajax 响应
【发布时间】:2018-02-07 07:38:22
【问题描述】:

在一个 div 中,我放置了一个包含两个输入文本和一个按钮的表单。当用户点击按钮时,会调用createProject.register 方法并将文本字段的值保存到数据库表中。

 <h:outputText id="opt" value="#{createProject.register}"></h:outputText>
 <h:commandButton value="Add URL">
       <f:ajax execute="@form" event="click" render="@form dt" listener="#{prTable.refresh}"></f:ajax>
       </h:commandButton>

在 div 下方,有一个 ID 为 dt 的数据表。为了刷新表中的数据,我将listener="#{prTable.refresh}" 添加到f:ajax 块中。 PrTable 类中的 refresh 方法更新 URL 的 arralylist。数据表显示 URL 列表。

问题:当我第一次点击按钮时,表格没有刷新。但是,当我第二次单击按钮时,数据表会刷新。该表不会在输入文本字段中显示当前值,但会显示在最后一次单击按钮时保存的值。

如何解决这个问题?

【问题讨论】:

  • 能否把dataTable的代码也贴出来

标签: html ajax jsf primefaces


【解决方案1】:

我没有为表格和表单使用两个不同的 Bean,而是使用了一个 Bean。在保存数据的函数结束时,我调用了更新 ArrayList 的函数。我还从表单中删除了 outputtext 和 listener。这解决了我的问题。

【讨论】:

    猜你喜欢
    • 2011-06-29
    • 1970-01-01
    • 2011-09-09
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 2014-02-06
    相关资源
    最近更新 更多