【发布时间】:2020-07-02 13:20:49
【问题描述】:
我刚开始使用 Xpages 中的 Dojo 图表功能。在 Andrew Champion 关注 this tutorial 之后。我发现创建饼图的简单csjs脚本不起作用。它打破了在 CSJS 中创建饼图的过程。使用最基本的代码以获得更好的可读性。
makeCharts = function()
{
alert("test");
var pieChart = new dojox.charting.Chart2D("#{id:panel1}");
};
当我在 Xpage 中调用该函数时,上面代码中的警报不会运行。我完全按照教程进行操作,但没有结果。任何帮助将不胜感激。
Xpage源码如下:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" dojoParseOnLoad="true"
dojoTheme="true">
<xp:this.resources>
<xp:dojoModule name="dojox.charting.Chart2D"></xp:dojoModule>
<xp:script src="/scriptsChartDojo.jss" clientSide="false"></xp:script>
<xp:script src="/scriptsChartDojoCSJS.js" clientSide="true"></xp:script>
</xp:this.resources>
<xp:scriptBlock id="scriptBlock1"
value="XSP.addOnLoad(makeCharts);">
</xp:scriptBlock>
<xp:panel style="height:450px;width:450px" id="panel1">
</xp:panel>
</xp:view>
【问题讨论】:
-
makeCharts函数定义在哪里?
-
上面的代码是我在 scriptsChartDojoCSJS.js 文件中的定义。@PerHenrikLausten
-
我认为您不能在 js 文件中包含服务器生成的代码。如果您在浏览器中打开 scriptsChartDojoCSJS.js 文件,您将看到 #{id:panel1} 没有被更改。相反,您可以将 makeCharts 函数添加到您的 xp:scriptBlock
-
谢谢。那行得通。我还想知道是否可以在 sessionScope 变量中从 ssjs 向 csjs 发送 json 对象数组。当我尝试在我的脚本块中使用 sessionScope.get 时。它不运行? @PerHenrikLausten
-
我建议您添加一个关于该问题的新问题。我将添加我对结合csjs和ssjs的评论作为您可以接受的答案
标签: javascript dojo xpages dojox.charting