0

我有两个问题如下;

我的页面左侧有一个菜单和子菜单,页面中心有一个 Tabview。当单击 menuItem 时,我使用 javascript 将选项卡动态添加到 tabview,
但我无法从支持 bean 获取 tabview 的选项卡。在添加 javascript 之前,我只能阅读第一个选项卡。所以我想在服务器端和客户端同步匹配tabview。

我怎样才能做到这一点 ?

第二;当我关闭选项卡时,我在 onTabClos​​e 方法中使用 TabClos​​eEvent 但事件始终为空。可能会通过将 tabview 与服务器和客户端匹配来解决,我不知道。

代码如下。

请给我提意见。

谢谢..

xhtml代码:

<p:menuitem value="#{itemMenu.menuAck}" 
            action="#{MenuBean.OpenPage(itemMenu.pageName)}" 
            ajax="true"
            oncomplete="handleTabViewEvent(args);" />

<script type="text/javascript">
   function handleTabViewEvent(args) {
       alert('Add tab here..');
    }
</script>

豆代码:

public void OpenPage(String pageName) {
     String s = "Divert to handleTabViewEvent function";
}

public void onTabClose(TabCloseEvent event) {  
     FacesContext context = FacesContext.getCurrentInstance();
     TabView tw = (TabView)context.getViewRoot().findComponent("centerForm:tw");
     String s = "I must delete tab here from tw which closed. 
                 But event does not give me tab information. It is always null. And tw has old values";
}
4

1 回答 1

0

我用javascript动态地将标签添加到tabview

首先,这是完全错误的。

您需要使用 JSF 而不是 JS 添加选项卡。现在 JSF 完全不知道更改的客户端状态,并且永远不会知道新选项卡。任何解决方法最终只会比仅通过 JSF 而不是 JS 来实现更丑陋且更难维护。

也可以看看:

于 2012-11-14T11:47:06.410 回答