为什么这个简单的导航器代码没有向 onItemClick 事件中的 sessionScope 变量添加任何内容?
<xe:navigator id="navigator1">
<xe:this.treeNodes>
<xe:dominoViewListTreeNode filter="All.*" submitValue="#{javascript:return viewEntry.getName()}" var="viewEntry" href="page.xsp">
<xe:this.databaseName><![CDATA[#{javascript:database.getServer() + "!!" + "path//db.nsf"}]]></xe:this.databaseName>
</xe:dominoViewListTreeNode>
</xe:this.treeNodes>
<xp:eventHandler event="onItemClick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:sessionScope.clickedView = context.getSubmittedValue()}]]></xp:this.action>
</xp:eventHandler>
</xe:navigator>
该代码深受 XPages101 第 71 课的启发:http: //xpages101.net/xpages101/XPages101.nsf/0/4DB7580AC6931682802579A7004E74E7
作为一种解决方法,我将 viewEntry.getName() 作为参数传输,而不是使用以下 href:
<xe:this.href><![CDATA[#{javascript:"page.xsp?view="+viewEntry.getName();}]]></xe:this.href>