首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在一页中使用2个Bean

在一页中使用2个Bean
EN

Stack Overflow用户
提问于 2014-06-23 15:01:47
回答 1查看 48关注 0票数 0

我在一页上有一棵原始的树。我做了复合组件。基本上它设置了selectedNodeName属性的TreeBean。我计划在不同的页面中使用这个树组件。当复合组件(这是一个原始的树)选择节点更改h:outputText将被更新时,我试图在页面中使用这个复合组件。这里的问题是复合compenent由一个bean管理,而页面的其余部分则由另一个bean管理。Components selectedNodeName属性位于TreeBean中,我希望在SomeBean中使用该属性,以便从SomeBean中更新h:outputText值。基本上,我想从TreeBean获得TreeBean并在SomeBean中使用它。

代码语言:javascript
运行
复制
<div id="somediv" >
    <h:outputText id="thisis" value="#{someBean.selectedNodeName}"/>
</div>


<cc:someComponent updateButton=":mainForm:treeComponent:someTree :mainForm:thisis"
id="treeComponent" updateAjax=":mainForm:thisis" />

我尝试过管理财产,但没有成功。selectedNodeName属性总是空的,从不设置为treeBean的属性selectedNodeName。

代码语言:javascript
运行
复制
    @ManagedProperty(value="#{treeBean.selectedNodeName}")
    private String selectedNodeName; 

    public String getSelectedNodeName() {
    return selectedNodeName;
    }

    public void setSelectedNodeName(String selectedNodeName) {
    this.selectedNodeName= selectedNodeName;
    }

所以我尝试了另一种方法。

代码语言:javascript
运行
复制
private String selectedNodeName; 

public String getSelectedNodeName() {
    String tmp = (String)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("selectedNodeName"); 
    selectedNodeName = tmp;
    return nodename;
}

public void setSelectedNodeName(String selectedNodeName) {
    this.selectedNodeName= selectedNodeName;
}

只有当TreeBean是会话作用域,而SomeBean是视图范围时,这种方法才能起作用。但我希望这两个豆子都能被观察到。我该怎么办?我处理复合组件的方法有什么问题吗?

EN

Stack Overflow用户

回答已采纳

发布于 2014-06-24 06:12:27

尝试将整个bean设置为托管属性。不久前我也有过同样的问题。这确实解决了我的问题:

代码语言:javascript
运行
复制
@ManagedProperty(value="#{treeBean}")
private TreeBean treeBean; 

  public String getTreeBean() {
     return treeBean;
  }

  public void setTreeBean(TreeBean treeBean) {
     this.treeBean= treeBean;
  }

然后,您也可以访问TreeBean在SomeBean中的所有属性。祝好运!

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24369192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档