如何向主题添加服务器端Javascript?

时间:2013-05-03 07:25:30

标签: xpages

根据“掌握Xpages”一书,主题资源最强大的功能是使用标签< resources>并加载clientside和serverSide的东西。

我曾尝试加载serverSide Javascripts,但它们没有加载 我只能加载clientSide Javascript。

我的主题:

<resources>
        <script
            target="xsp"
            src="/CommonSSJS.jss"
            clientSide="false"
            type="text/javascript"
        ></script>
        <script
            target="xsp"
            src="/xpServerSide.jss"
            clientSide="false"
            type="text/javascript"
        ></script>
        <script
            target="xsp"
            src="/xpCGIVariables.jss"
            clientSide="false"
            type="text/javascript"
        ></script>
        <script
            target="xsp"
            src="js/jquery-1.9.1.min.js"
            clientSide="true"
            type="text/javascript"
        ></script>
        <script
            target="xsp"
            src="include.js"
            clientSide="true"
            type="text/javascript"
        ></script>
    </resources>

我知道他们没有加载'因为我在我的框架中调用了其中一个函数。

请指教!

2 个答案:

答案 0 :(得分:11)

在渲染响应阶段应用主题。因此,您的SSJS库在早期阶段不可用。因此,您可以将SJSS库用于例如一个按钮,但不是用于例如逻辑beforeRenderResponse阶段(为此你需要将你的SSJS库直接添加到XPage /自定义控件)。

答案 1 :(得分:2)

您可以使用此代码

在主题中包含SSJS
        <property mode="concat">
        <name>styleClass</name>
        <value>#{javascript:
        var ssjsLibrary:com.ibm.xsp.resource.ScriptResource = new
        com.ibm.xsp.resource.ScriptResource();
        ssjsLibrary.setClientSide(false);
        ssjsLibrary.setSrc("/ssIncludeMe.jss");
        this.addResource(ssjsLibrary); return "";}</value>
    </property>

但是有了这些限制,Per已经写过了。

来源:http://www.iqjam.net/iqjam/iqjam.nsf/questionread.xsp?documentId=144ED5F29CB7031F802576E7005732B2&action=openDocument&SessionID=DD0UUYQPUX