这是针对这个问题的一个邪恶黑客(在 IE 8 & 9 & FF 15,16,17 中测试):
- 将您的extraLocale更改为 javascript 变量
在beforePageLoad事件中的其他所有内容之前添加一个 javascript 块
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.properties>
<xp:parameter name="xsp.client.script.dojo.djConfig" value="extraLocale: exLocale" />
</xp:this.properties>
<xp:this.beforePageLoad>
<![CDATA[#{javascript:
var exCon = facesContext.getExternalContext();
var response = exCon.getResponse();
var writer = response.getWriter();
writer.write("<script>\n");
writer.write("var exLocale=['sv-se','de-de']\n");
writer.write("</script>\n");
}]]>
</xp:this.beforePageLoad>
<xp:scriptBlock id="scriptBlock1"
value="dojo.addOnLoad( function(){ alert( dojo.config.extraLocale ) } );">
</xp:scriptBlock>
</xp:view>
在此示例中,我将参数直接添加到 XPage 并添加了两个额外的语言环境。希望这有助于和/或启发更清洁的解决方案:-)
PS 问题是额外的djConfig参数会在内部解析,斜杠会自动转义。