【问题标题】:Equivalent of <f:ajax render="@form" />等价于 <f:ajax render="@form" />
【发布时间】:2013-09-01 03:37:44
【问题描述】:

最近我开始在使用 jsf1.x 的 Web 应用程序中使用 prettyfaces。在测试时,我意识到 h:commandButton 和 h:commandLink 的操作方法没有被调用。在网上搜索后,我在此站点上找到了一个链接,其中有人建议使用&lt;f:ajax render="@form" /&gt; 应该可以。由于 f:ajax 在 JSF2.x 中可用,所以我在想如何在 Jsf1.x 中找到 &lt;f:ajax render="@form" /&gt; 的等价物

非常感谢任何帮助,因为我因此完全陷入困境。

谢谢, 尼拉杰

【问题讨论】:

  • 你可以考虑使用richfaces 3.3 &lt;a4j:ajax...
  • Ajax 似乎是您遇到的最少的问题。您应该对排除命令组件未触发的原因更感兴趣。 “等效于&lt;f:ajax render="@form"/&gt;”是非常模棱两可的,很可能不会做太多事情。把你的代码贴在这里,描述一下具体的使用问题
  • 如果一个普通的命令按钮已经不起作用,&lt;f:ajax&gt; 将无济于事,因为它需要一个工作的命令按钮。我建议退后一步并修复按钮调用失败。这是一个起点:stackoverflow.com/questions/2118656/…

标签: ajax jsf


【解决方案1】:

如果h:commandButtonh:commandLink 的操作不再被调用,则会出现严重错误。也许这很简单,比如验证失败,它取消了action 的调用(尝试immediate="true" in your button/links)。如果不是,那么您应该尝试查找并修复导致此问题的原因,而不是切换到 Ajax 功能。

正如已经指出的,您可以使用 a4j,它随 RichFaces 3 一起提供,也适用于 JSF 1。

但是你不能放弃这个基本功能。以后只使用 Ajax 会遇到很多问题。 a4j:ajax 可能等同于 f:ajax,但它肯定不等同于标准 post-action 功能。

一个常见的用例是要显示的 PDF。这对于 Ajax 部分更新是不可能的。

【讨论】:

    猜你喜欢
    • 2013-03-25
    • 2013-01-08
    • 1970-01-01
    • 2011-12-29
    • 2016-06-19
    • 2014-07-11
    • 2011-11-16
    • 2011-09-29
    相关资源
    最近更新 更多