context.getUrl() 不是 return XSPUrl 吗?
context.getUrl() does not return an XSPUrl?
带有 extlib 应用程序布局的 xpage (bootstrap)。我想在应用程序布局的实用程序链接部分通过 buttons/links 更改用户语言:
我很直接地尝试了一下:
<xe:basicLeafNode label="DE">
<xe:this.href>
<![CDATA[${javascript:return context.getUrl().setParameter("mylang","de");}]]>
</xe:this.href>
</xe:basicLeafNode>
但是这个returns是一个空字符串。我不得不做得更复杂:
<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() 不是 "real" XSPUrl 对象吗?
愚蠢的错误,但是(作为借口)它混合了一些其他代码,不像我在这里发布的示例那么简单。
解决方案:XSPUrl.setParameter() 没有 return 任何值
var u:XSPUrl = context.getUrl();
u.setParameter("mylang","de");
return u
是吗:-)
带有 extlib 应用程序布局的 xpage (bootstrap)。我想在应用程序布局的实用程序链接部分通过 buttons/links 更改用户语言:
我很直接地尝试了一下:
<xe:basicLeafNode label="DE">
<xe:this.href>
<![CDATA[${javascript:return context.getUrl().setParameter("mylang","de");}]]>
</xe:this.href>
</xe:basicLeafNode>
但是这个returns是一个空字符串。我不得不做得更复杂:
<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() 不是 "real" XSPUrl 对象吗?
愚蠢的错误,但是(作为借口)它混合了一些其他代码,不像我在这里发布的示例那么简单。
解决方案:XSPUrl.setParameter() 没有 return 任何值
var u:XSPUrl = context.getUrl();
u.setParameter("mylang","de");
return u
是吗:-)