首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自父网页的Xpages getComponent inside iFrame

来自父网页的Xpages getComponent inside iFrame
EN

Stack Overflow用户
提问于 2015-07-31 18:25:34
回答 1查看 387关注 0票数 2

我们已经构建了一个Xpage应用程序,其中包含一个选项卡式容器。选项卡容器的第一页包含一个视图,当单击此视图中的文档时,具有相应文档的新选项卡将添加到选项卡容器中。这个新选项卡页包含一个具有scr属性的面板,要显示的页面的url将提供给此面板的src属性。结果是我们有了一个带有iframe的标签页,iframe包含我们的文档页面。

问题:

在这个iframe中,我们需要从我们的父网页中获取一个组件(SSJS或Java)。在这种情况下,getComponent函数不起作用,因为它只会在当前组件树( iFrame而不是父页面)中进行搜索。

我正在寻找一种从父页面获取组件的方法...

对于如何实现这一点有什么想法吗?

谢谢:-)

EN

回答 1

Stack Overflow用户

发布于 2015-07-31 18:51:51

1)创建托管bean

代码语言:javascript
复制
    package mypackage;

    import javax.faces.component.UIComponent;

    public class MyComponentBean {

        private  UIComponent component;

        public void setComponent(UIComponent component) {
            this.component = component;
        }

        public UIComponent getComponent() {
            return component;
        }

    }

2)将托管bean添加到sessionScope中的faces-config.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<faces-config>

  <managed-bean>
    <managed-bean-scope>session</managed-bean-scope>
    <managed-bean-name>componentBean</managed-bean-name>
    <managed-bean-class>mypackage.MyComponentBean</managed-bean-class>
  </managed-bean>

</faces-config>

3)将bean作为绑定添加到第1页上的组件

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:inputText
        id="inputText1"
        binding="#{componentBean.component}">
    </xp:inputText>

    <xp:br />

    <xp:button
        value="Label"
        id="button1">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="partial" refreshId="inputText1">
        </xp:eventHandler>
    </xp:button>

</xp:view>

4)访问第2页上的组件(本例中为组件的值)

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:label
        value="#{componentBean.component.value}"
        id="label1">
    </xp:label>

    <xp:br />

    <xp:button
        value="Label"
        id="button1">
        <xp:eventHandler
            event="onclick"
            submit="true"
            refreshMode="partial" refreshId="label1">
        </xp:eventHandler>
    </xp:button>
</xp:view>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31743897

复制
相关文章

相似问题

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