【问题标题】:Bean methods are executed even if the Bean methods are not called即使没有调用 Bean 方法,也会执行 Bean 方法
【发布时间】:2013-06-25 11:25:55
【问题描述】:

我有一个问题:

我有一个名为 LeaveCalenderYearly.xhtml 的 xhtml 页面,它的 Bean 称为 calenderBean,并且该 bean 有许多用于此 xhtml 页面的方法。

现在我在此页面中有三个按钮,例如 button1button2button3。每个按钮都会打开一个弹出窗口,我为这三个弹出窗口及其内部执行编写了三个单独的 Bean,例如 bean1bean2bean3

但是,每当我单击这些按钮打开弹出窗口(使用 <p:dialog>)时,它会打开,但会执行 calenderBean 中的方法,尽管 bean 不用于弹出窗口。 它会进一步延迟这个过程。

我该如何管理它,因为单击按钮不会调用 calenderBean 及其方法。 请推荐!

【问题讨论】:

  • 我猜点击按钮正在调用 PhaseListener 作为其生命周期的一部分。并且您在 PhaseListener 中有一些代码正在调用 calenderBean 的方法。粘贴您的 xhtml、bean 和 PhaseListener 的代码。

标签: jsf primefaces


【解决方案1】:

我认为您可以使用 primefaces 中的 Process 和 PartialSubmit 来控制您在命令按钮中发送的内容,如下所示:

<p:commandButton value="YourText" update="componentToUpdate" partialSubmit="true" process="nameOfComponentYouNeedToSend" />  

查看更多内容: Partial Submit

Partial Processing

PS:在此过程中,您可以使用“@this”、“@form”、“@none”等泛型。

PS2:在下一个问题中,请输入一些代码或更具体的代码,因为就像 BalusC 说的那样太模棱两可了。

【讨论】:

  • @aledpardo:如果您花这么多精力只“改进链接格式”,也努力验证和修复这些链接!自从 PrimeFaces 展示升级到 5.0 后,您仅编辑的几篇帖子中的那些 PrimeFaces 展示链接已被破坏。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-06-14
  • 2014-06-26
  • 2011-05-07
  • 2018-10-08
  • 1970-01-01
  • 2012-09-15
  • 2015-05-13
相关资源
最近更新 更多