gpt4 book ai didi

jsf - 在 ICEFaces 中通知一个 bean

转载 作者:行者123 更新时间:2023-12-01 09:39:53 25 4
gpt4 key购买 nike

我有一个我们申请的 ICEFaces。一页有两个 bean,它们在页面上显示不同的内容。

我希望能够在另一个 bean 更改 bean 上的某些内容时通知一个 bean,以便第一个 bean 更新其在页面上的内容。

这在 ICEFaces 中可行吗?如果有怎么办?

谢谢,

最佳答案

您可以做的是将 bean1“注入(inject)”到 bean2 中,这样 bean2 就可以访问 bean1 中存在的任何方法。

如果您使用的是 Spring,则在定义 bean 时可以轻松完成:

<bean id="bean1" class="foo.bar.Bean1"/>
<bean id="bean2" class="foo.bar.Bean2">
<property id="bean1" ref="bean1"/>
</bean>

在 bean2 的 Java 代码中:

public class Bean2 {

private Bean1 bean1 = null;

// The setter will be used by Spring to inject Bean1 in Bean2...
public void setBean1(Bean1 bean1) {
this.bean1 = bean1;
}

...

public void someMethod() {
...
// Now, you can call the bean1 instance to update what you want...
bean1.updateSomething();
}

}

如果您不使用 Spring:

您可以像这样在 bean2 代码中直接访问 bean1 实例:

Bean1 bean1 = (Bean1) FacesContext.getCurrentInstance().getCurrentInstance()
.getExternalContext().getSessionMap().get("bean1");

关于jsf - 在 ICEFaces 中通知一个 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359252/

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