Xpages 从应用程序布局横幅打开XPage

Xpages 从应用程序布局横幅打开XPage,xpages,xpages-extlib,Xpages,Xpages Extlib,我正在使用应用程序布局控件,并在横幅链接中设置了一个basicLeafNode。我想在点击“Meine Anmeldungen”链接时打开另一个XPage MeineAnmeldung.xsp <bx:this.bannerUtilityLinks> <xe:basicLeafNode label="Meine Anmeldungen"> <xe:this.rendered><![CDATA[#{javascript:context.ge

我正在使用应用程序布局控件,并在横幅链接中设置了一个basicLeafNode。我想在点击“Meine Anmeldungen”链接时打开另一个XPage MeineAnmeldung.xsp

<bx:this.bannerUtilityLinks>
<xe:basicLeafNode
    label="Meine Anmeldungen">
    <xe:this.rendered><![CDATA[#{javascript:context.getUser().getRoles().contains('[CreateAnmeldung]')}]]></xe:this.rendered>
    <xe:this.onClick><![CDATA[#{javascript:context.redirectToPage("MeineAnmeldungen.xsp")}]]></xe:this.onClick>
</xe:basicLeafNode>
但是,正如我发现的,basicLeafNode上的onCLick事件严格来说是CSJS,我认为这就是我遇到问题的原因

我是不是在错误的地方这么做?老实说,我不理解顶部所有这些不同栏之间的区别:Placebar、Search Bar、Title Bar、mastHeader。不知道哪个做什么,我正试图有一个没有任何混乱的非常简单的用户界面


或者有没有一种使用CCJS重定向的方法?可能是通过重新计算URL,我也不确定如何计算。

您可以使用location.href=..通过CSJS重定向。。。。CSJS是basicLeafNode的onClick事件所能做的一切

应用程序布局控件本身在“事件”选项卡上有一个onItemClick事件。这将允许您触发SSJS并使用context.getSubmittedValue检查submitValue属性,您需要为basicLeafNode添加该属性


请参见

您可以使用location.href=..通过CSJS重定向。。。。CSJS是basicLeafNode的onClick事件所能做的一切

应用程序布局控件本身在“事件”选项卡上有一个onItemClick事件。这将允许您触发SSJS并使用context.getSubmittedValue检查submitValue属性,您需要为basicLeafNode添加该属性


请参见使用pageTreeNode。下面是一个例子:

<xe:this.bannerUtilityLinks>
    <xe:pageTreeNode label="Meine Anmeldungen" page="/MeineAnmeldungen.xsp.xsp"></xe:pageTreeNode>
</xe:this.bannerUtilityLinks>

改用pageTreeNode。下面是一个例子:

<xe:this.bannerUtilityLinks>
    <xe:pageTreeNode label="Meine Anmeldungen" page="/MeineAnmeldungen.xsp.xsp"></xe:pageTreeNode>
</xe:this.bannerUtilityLinks>

谢谢保罗,我不会发疯的。所以像facesContext.getExternalContext.getRequest.getContextPath+/MeineAnmeldung.xsp then.location.href=${javascript:facesContext.getExternalContext.getRequest.getContextPath}/MeineAnmeldung.xsp应该可以工作,我认为。您基本上是使用SSJS计算页面加载时的上下文路径,然后将其传递到写入页面的CSJS中。但佩尔的建议是更好的实践方法-谢谢保罗,我不会发疯的。所以像facesContext.getExternalContext.getRequest.getContextPath+/MeineAnmeldung.xsp then.location.href=${javascript:facesContext.getExternalContext.getRequest.getContextPath}/MeineAnmeldung.xsp应该可以工作,我认为。您基本上是使用SSJS计算页面加载时的上下文路径,然后将其传递到写入页面的CSJS中。但佩尔的建议是更好的实践方法-啊,太好了!精彩的如果你靠近我,我会吻你。谢谢你,佩尔!啊,太好了!精彩的如果你靠近我,我会吻你。谢谢你,佩尔!