繁体   English   中英

JSF2通过AJAX从Backing Bean获取JSON数据

[英]JSF2 get JSON Data via AJAX from Backing Bean

我正在使用RichFaces4。我正在将flot用作JQuery Charting库,我想实现一个图表,该图表通过AJAX不断刷新。

我从支持bean通过JSON获取图表的数据。

我不知道如何将新数据从支持bean转换为javascript变量。 据我了解,我不能使用<f:ajax>因为没有用户交互,也没有使用html输入元素。

我认为解决方案是使用jsf.ajax.request 但是我也不明白在没有输入元素的情况下怎么称呼它。

以下是一段代码,它看起来应该是什么样子,但是我不知道如何将我的支持bean的值转换为javascript变量。

$(function() {
function update(){
    //**dont know how this call should look like**
    jsf.ajax.request('dev-form-input1', {render:'dev-form-output1'});
    //'newAjaxData' would be the value from #{someBean.chartData}
    plot.setData(newAjaxData);
    // draw the chart with the new data
    plot.draw();
    //get an update every second
    setTimeout(update, 1000);
}

使用某些输入元素时,我设法通过jsf.ajax.request发送了AJAX请求,但是我没有获得要渲染的新值。 即使我可以,我也不会很热就可以在javascript变量中获得它(我对javascript没有太多的经验)。

<h:form id="dev-form">
<h:inputText id="input1" value="#{someBean.chartData}"/>
<h:outputText id="output1" value="#{someBean.chartData}" />
</h:form>

注意:我将javax.faces.SEPARATOR_CHAR更改为“-”,因为jquery需要“:”。

谢谢你的帮助!

JSF是工作的错误工具。 使用像JAX-RS这样的Web服务框架,而不是像JSF这样的MVC框架。 然后,您可以在客户端中以通常的方式使用jQuery等。

也可以看看:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM