英语不是我的母语,请耐心等待。
我在[见标签]初学者,有一个Web应用程序,它收集的日期和序列,使一个SQL查询和(从度量和测量的日期值)返回一些数据到行动doDrawFlot,在这个动作中,这个数据被合成为填充一个flot图。
我需要一个ArrayList <(字符串或整数)>并将它传递给Javascript来填充海军报曲线图。
在这一刻我有我的行动:
public InputStream inputStream;
public String doDrawFlot() {
StringBuilder response = new StringBuilder();
response.append("1_20");
response.append("2_50");
response.append("3_10");
byte[] bArray = response.toString().getBytes();
inputStream = new ByteArrayInputStream(bArray);
return SUCCESS;
}
Struts2的XML
<action name="GetProfile" class="com.raspberry.struts.action.PerfilCargaAction"
method="doDrawFlot">
<interceptor-ref name="SessionValidationStack" />
<result type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>
和JavaScript文件:
$(document).ready(function() {
//Re-load records when user click 'load records' button.
$('#LoadRecordsButton').click(function (e) {
$.ajax({
type: 'POST',
url: 'GetProfile?fechaPerfil='+$('#startDate').datepicker({ dateFormat: 'yyyy-mm' }).val()+'&meter=' + $('#meterList option:selected').text(),
success: function (response) {
console.log(response); //At request of @Raidri
var servletResponse = response;
var str = [];
var num = [];
var d1 = [];
for (var i = 0, len = servletResponse.length; i < len; i++) {
num.push(parseInt(servletResponse[i].split("_")[0])),
str.push(parseInt(servletResponse[i].split("_")[1]));
d1[i] = [num[i],str[i]];
}
console.log(d1); //At request of @Raidri
$.plot($("#placeholder"), [d1]);
}
});
});
$.plot($("#flotDiv"), [[]]);
});
正如你所看到的数据是不在ArrayList中,这是因为我正在使用inputstream传递数据客户端。
要传递数据就像数组和格式正确在flot是绝对必要使用Json(或Gson)?
或者我目前的版本可以完成这项工作吗?
任何想法(代码修复,POJO,简单教程为noob)或recomendations?
我正在使用struts2和mykong tutorial没有帮助我。
更新:
在@Raidri的请求两个控制台日志的输出:
的console.log(响应):1_202_503_10
的console.log(D1):[1,NaN][NaN,NaN][2,NaN][0,NaN][2, NaN][NaN,NaN][5,NaN][0,NaN][3,NaN][NaN,NaN][1,NaN][NaN,0]
流发送一个单独的字符串,我需要一个数组,因为这些措施的长度可以改变(即,“102”或“0”)
请插入'的console.log (响应)'在成功回调函数和'的console.log(D1)的开始'前'$ .plot()'调用,然后将结果添加到您的答案。 – Raidri
@Raidri感谢您的评论,问题更新。 –