gpt4 book ai didi

java - Primefaces/JSF 按钮的操作处理程序不会触发相关 bean 的方法

转载 作者:行者123 更新时间:2023-11-29 05:23:26 25 4
gpt4 key购买 nike

我对使用 Primefaces 框架还很陌生。

我的问题是,如果用户单击按钮,我想调用一个 bean 方法,但该方法不会被触发。尽管如此,IntelliJ 会自动完成该方法,并且我将该 bean 用作另一个控件的项目源,这很有效。

部分 Index.htmlx

<h:form id="newLunch">
<h:panelGrid columns="2" style="width: 300px;">
<h:outputLabel for="initiator" value="Initiator" />
<p:inputText id="initiator" />

...

<p:button value="save" actionListener="#{indexBean.onSaveLunch}" />
</h:panelGrid>
</h:form>

IndexBean.java

@ManagedBean
@SessionScoped
public class IndexBean
{
public IndexBean()
{
//...
}

public void onSaveLunch()
{
// do some action, will not be triggered
}
}

感谢支持新手!

最佳答案

    <p:button value="save" actionListener="#{indexBean.onSaveLunch}" />

在这里使用 Primefaces 命令按钮。

    <p:commandButton value="save" actionListener="#{indexBean.onSaveLunch}" />

更多信息 here

已更新:

您的方法未被调用的原因是它对 actionListener 无效。

改变你的方法从

  public void onSaveLunch()
{
// do some action, will not be triggered
}

 public void onSaveLunch(ActionEvent event)
{
// do some action, will not be triggered
}

请记住 import import javax.faces.event.ActionEvent; 因为还有另一个您不想使用的 java swing Action 事件。

关于java - Primefaces/JSF 按钮的操作处理程序不会触发相关 bean 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23722918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com