【问题标题】:Call Java method from Primefaces dialog从 Primefaces 对话框调用 Java 方法
【发布时间】:2017-12-01 02:12:57
【问题描述】:

我想从 Primefaces 对话框调用 Java 方法。我测试了这段代码:

<h:form>

                        <p:dialog header="New Sensor" widgetVar="dlg" focus="name" modal="true" showEffect="fade">
                            <h:panelGrid columns="2" cellpadding="5">
                                <h:outputLabel for="name" value="Name" />
                                ........
                                <p:inputText id="enabled" label="enabled" value="#{newSensor.sensor.enabled}" />
                            </h:panelGrid>

                            <f:facet name="footer">
                                <p:commandButton id="ajax" value="Create Sensor" styleClass="ui-priority-primary" type="button" actionListener="#{newSensor.saveRecord()}"/>
                            </f:facet>
                        </p:dialog>

                    </h:form>

Java 豆:

@Named
@RequestScoped
public class NewSensor implements Serializable
{
    private SensorObj sensor = new SensorObj();

    public SensorObj getSensor()
    {
        return sensor;
    }

    public void setSensor(SensorObj sensor)
    {
        this.sensor = sensor;
    }

    public void saveRecord(){
        System.out.println(">>>>>>>!!!!!! " + sensor.getName());
    }

}

当我单击按钮时,没有任何反应。您能给我一些建议如何解决这个问题吗?

【问题讨论】:

标签: jsf primefaces jsf-2


【解决方案1】:

您应该删除commandButton 中的type="button",因为它会阻止按钮发送请求。

此外,您在 commandButton 中使用了 actionListener
您在 bean 中的方法应该有 ActionEvent 作为其参数。

public void saveRecord(ActionEvent actionEvent) {
    System.out.println(">>>>>>>!!!!!! " + sensor.getName());
}

更多信息请参考here

【讨论】:

  • 无需回答 Peter Tonev 的问题,您很少得到有用的反馈。但是您对 ActionEvent 的评论是错误的。如果 actionListener 包含末尾没有 () 的 EL 是有效的,但因为它们在那里,所以可以省略 ActionEvent。并允许将其标记为stackoverflow.com/questions/2118656/… 的副本。这是该问题中的第一名
  • @Kukeltje 感谢您的反馈。另外,感谢您对 ActionListener 的澄清。我忽略了 EL 末尾的 ()。
猜你喜欢
  • 2015-06-13
  • 2012-06-17
  • 2013-11-09
  • 1970-01-01
  • 2013-06-29
  • 2016-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多