如何在jsf页面中显示由javascript动态生成的图像?

时间:2014-08-29 18:51:40

标签: jsf primefaces highcharts

使用JSF和PrimeFaces我尝试使用java脚本外部库(Highcharts)来显示动态生成的图像。图像使用的数据从数据库加载。图像应每n秒刷新一次。

在JSF中,我知道我可以通过

运行java脚本函数
  

< h:outputScript name =“js / volatilityChart.js”>

但我必须以某种方式放置参数才能正确显示此功能。我知道有可能从RequestContext调用execute(),但我不知道如何显示以这种方式生成的图像。如果知道我可以使用p:poll来刷新它。我在网上搜索但找不到合适的解决方案。 任何建议将不胜感激。

编辑:

按照BalusC的建议,经过一番挖掘,我设法创造了一些适合我的东西(简单地说就是在xhtml中访问javascript代码中的bean字段和方法)。在XHTML中,我把:

<script>
    //<![CDATA[
        $(function () {
            $('#container_portfolio').highcharts('StockChart', {
                chart: {
                    alignTicks: false
                },

                rangeSelector: {
                    inputEnabled: $('#container').width() > 480,
                    selected: 1
                    },

                    title: {
                        text: ''
                    },

                    series: [{
                        type: 'column',
                        name: 'Volatility',
                        data: #{statisticsView.getStatistic()},
                        dataGrouping: {
                            units: [[
                                'week', // unit name
                                [1] // allowed multiples
                            ], [
                                'month',
                                [1, 2, 3, 4, 6]
                            ]]
                        }
                    }]
                });
            });
    //]]>
</script>

以上功能有效,并给出了我的预期。但是,我想插入许多类似的电话。是否有可能将它们提取到单独的文件?它将大大提高代码的可管理性。提前谢谢。

0 个答案:

没有答案