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