Xpages 从xe:navigator项获取submittedValue

Xpages 从xe:navigator项获取submittedValue,xpages,xpages-extlib,Xpages,Xpages Extlib,为什么这个简单的导航器代码不向onItemClick事件中的sessionScope变量添加任何内容 <xe:navigator id="navigator1">         <xe:this.treeNodes> <xe:dominoViewListTreeNode filter="All.*" submitValue="#{javascript:return viewEntry.getName()}" var="viewEntry"

为什么这个简单的导航器代码不向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课的启发:

作为一种解决方法,我使用以下href将viewEntry.getName()作为参数传输:

<xe:this.href><![CDATA[#{javascript:"page.xsp?view="+viewEntry.getName();}]]></xe:this.href>

根据

xe:dominoViewListTreeNode中的href属性导致根本不执行服务器端事件。当单击一个节点时,它只是执行一个HTTP访问所选页面(page.xsp)。如果删除它并在服务器端代码中重定向用户,您的示例应该可以工作:

<xe:navigator id="navigator1">         
  <xe:this.treeNodes>
     <xe:dominoViewListTreeNode filter="All.*" submitValue="#{javascript:return viewEntry.getName()}" var="viewEntry">
        <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();
     context.redirectToPage("page");}]]>
     </xp:this.action>
  </xp:eventHandler>
</xe:navigator>

啊,当然!客户端始终优先于服务器端。谢谢,马克。我稍后会测试并接受
submitValue="#{viewEntry.name}"