我创建了一个Navigator Control,它根据用户选择的应用程序显示不同的Navigator。当我使用OneUI应用程序主题运行带有此控件的页面时它工作正常,但当我切换到Bootstrap3.2.0时只有前三个项目(编辑:找到一个导航器,前4个工作,但其余不工作 - 在导航器菜单中包含一个链接,看不到任何相关性。其余的人什么都不做。
“个人档案”,“应用程序”和“业务代表日志”链接正常工作,但其余部分似乎都没有附加链接。我可以选择任何应用程序,并且所有结果导航器的功能都相同 - 前三个项目有链接,其余的没有,但在OneUI中它们都有链接。此页面使用Bootstrap Application Layout作为模板。 这是导航器控件的代码:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"
xmlns:xe="http://www.ibm.com/xsp/coreex"
xmlns:xc="http://www.ibm.com/xsp/custom">
<xp:this.resources>
<xp:script src="/js Utils.jss" clientSide="false"></xp:script>
</xp:this.resources>
<xp:panel style="width:150px" id="panelSelectApp">
<xp:this.readonly><![CDATA[#{javascript:!viewScope.get("vsReadOnly")}]]></xp:this.readonly>
<xe:dropDownButton id="selectApp" style="width:200px">
<xe:this.treeNodes>
<xe:basicContainerNode>
<xe:this.label>
<![CDATA[#{javascript:var s:String = sessionScope.ssApplication;
(s == null || s == "")? "-- Select An Application --" : s;}]]>
</xe:this.label>
<xe:this.children>
<!--
ssAppMenu is a session Scope Bean that returns a list of valid
Navigator custom Controls
-->
<xe:repeatTreeNode var="thisApp" indexVar="index"
loaded="true" value="#{javascript:ssAppMenu.get();}">
<xe:this.children>
<xe:basicLeafNode label="#{javascript:thisApp}"
submitValue="#{javascript:thisApp}">
</xe:basicLeafNode>
<xe:separatorTreeNode loaded="true">
</xe:separatorTreeNode>
</xe:this.children>
</xe:repeatTreeNode>
</xe:this.children>
</xe:basicContainerNode>
</xe:this.treeNodes>
<xe:this.rendered><![CDATA[#{javascript:(viewScope.get("vsReadOnly")) ? false : true}]]>
</xe:this.rendered>
<xp:eventHandler event="onItemClick" submit="true"
refreshMode="partial" refreshId="panelSelectApp">
<xe:this.action><![CDATA[#{javascript:var value=context.getSubmittedValue();
if(value==null || value=="" || value == "-- Select An Application --") {
sessionScope.put("ssApplication","")
sessionScope.put("ssSelectedNavigator","");
sessionScope.put("ssSelectedView","");
getComponent('dynamicContentMainView').show(null);
getComponent('dynamicNavigator').show(null);
return;
}else {
clearCategory();
sessionScope.put("ssApplication",value);
/*appProps is a Managed Application Scope been which contains a number of properties specific to
each application for example navName returns the name of the control which defines this specific
navigator & ssApplication contains the name of the current Application.
*/
sessionScope.put("ssSelectedNavigator", appProps[sessionScope.ssApplication].navName);
sessionScope.put("ssSelectedView", appProps[sessionScope.ssApplication].defaultView);
getComponent('dynamicContentMainView').show(null);
getComponent('dynamicNavigator').show(null);
}}]]></xe:this.action>
<xp:this.onComplete>
<![CDATA[XSP.partialRefreshGet("#{id:dynamicContentMainView}");]]>
</xp:this.onComplete>
</xp:eventHandler>
</xe:dropDownButton>
<xp:panel id="panelNavigator" style="width:150px">
<xe:dynamicContent id="dynamicNavigator">
<xe:dynamicContent id="dynamicNavigatorControl">
<xp:include id="customControlIncluder">
<xp:this.pageName>
<![CDATA[${javascript:var debug:Boolean = false;
if (debug) WFSUtils.sysOut("Selected Navigator = " + sessionScope.ssSelectedNavigator);
sessionScope.ssSelectedNavigator||"ccBlankNavigator.xsp"}]]>
</xp:this.pageName>
</xp:include>
</xe:dynamicContent>
</xe:dynamicContent>
</xp:panel><!-- panelNavigators -->
</xp:panel><!-- panelSelectApp -->
</xp:view>
答案 0 :(得分:1)
Scrapped OneUI并在BootStrap中重写了整个内容。无法弄清楚它为什么会这样做。