context.getUrl()不返回XSPUrl?

时间:2016-06-08 09:15:04

标签: xpages-ssjs xpages-extlib

带有extlib应用程序布局的xpage(bootstrap)。我想通过应用程序布局的实用程序链接部分中的按钮/链接更改用户语言:

我非常直接地尝试过:

<xe:basicLeafNode label="DE">
    <xe:this.href>
    <![CDATA[${javascript:return context.getUrl().setParameter("mylang","de");}]]>
    </xe:this.href>
</xe:basicLeafNode> 

但是这会返回一个空字符串。我不得不做得更复杂:

<xe:basicLeafNode label="DE">
    <xe:this.href>
    <![CDATA[${javascript:var langurl:XSPUrl = new XSPUrl("");
     langurl.setAddress(context.getUrl().toString());
     langurl.setParameter("mylang","de");
     return langurl}]]>
    </xe:this.href>
</xe:basicLeafNode> 

context.getUrl()不是“真正的”XSPUrl对象吗?

1 个答案:

答案 0 :(得分:0)

愚蠢的错误,但是(作为借口)它与其他一些代码混合在一起,并不像我在这里发布的示例那么简单。

解决方案:XSPUrl.setParameter()不返回任何值

var u:XSPUrl = context.getUrl();
u.setParameter("mylang","de");
return u

它: - )