代码之家  ›  专栏  ›  技术社区  ›  Rui

通过点击h:commandButton生成的提交按钮触发加载是否为满载?

  •  0
  • Rui  · 技术社区  · 2 年前

    jsf页面包含一个带有 commandButton 类元素 <h:commandButton action="#{bean.search}" submit 按钮将触发一个bean,然后将更多数据发送回同一个jsf页面。

    问题:提交后,jsf页面是否再次完全加载?或者只是包含新检索数据的部分重新加载,而其他部分不会再次加载?

    0 回复  |  直到 2 年前
        1
  •  0
  •   chris    2 年前

    默认情况下,JSF将完全重新加载页面。这可以通过在提交文件时查看浏览器network developer工具来测试 commandButton .如果您只想呈现页面的一部分(例如,输出结果的标签),可以使用AJAX。

    例如,如果你的 命令按钮 通过添加

    <f:ajax execute="@form" render="@form:result"  />
    

    在你的 命令按钮 标记时,可以指定服务器只处理表单的内容,并且只呈现ID为“result”的标签。

    有关更多信息,请参阅JSF中的AJAX指南: https://www.beyondjava.net/a-comprehensive-guide-to-jsf-ajax

    您将看到作者在没有AJAX的情况下展示了整个页面的加载。

    或者,这里是官方文件 <f:ajax> : https://jakarta.ee/specifications/faces/2.3/vdldoc/f/ajax.html