我有一个ICEFaces我们申请.一个页面有两个bean,它们在页面上显示不同的内容.
我希望能够在另一个bean更改bean上的内容时通知一个bean,以便第一个bean更新其在页面上的内容.
在ICEFaces有可能吗?如果是这样的话?
谢谢,
谭
你可以做的是将bean1"注入"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>
Run Code Online (Sandbox Code Playgroud)
并在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();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你不使用Spring:
您可以直接访问bean2代码中的bean1实例:
Bean1 bean1 = (Bean1) FacesContext.getCurrentInstance().getCurrentInstance()
.getExternalContext().getSessionMap().get("bean1");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2333 次 |
最近记录: |