0

我需要在 Domino 8.5.3FP1 服务器上的 djConfig 上设置 extraLocale。

(包资源管理器)

这通常是这样完成的:

xsp.client.script.dojo.djConfig=extraLocale: ['sv-se']

但 Domino 会将我的字符串转义为:

extraLocale: [\'sv-se\']

如果我这样做没关系:

xsp.client.script.dojo.djConfig=extraLocale: ["sv-se"]

结果相同。

任何想法表示赞赏!

/J

4

1 回答 1

2

这是针对这个问题的一个邪恶黑客(在 IE 8 & 9 & FF 15,16,17 中测试):

  1. 将您的extraLocale更改为 javascript 变量
  2. 在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参数会在内部解析,斜杠会自动转义。

于 2012-12-07T12:32:11.303 回答