Добрый день.Pass ArrayList для JQuery Flot
Английский - не мой родной язык, поэтому, пожалуйста, будьте терпеливы.
Я новичок в [см. Теги] и имею веб-приложение, которое собирает дату и серию, чтобы сделать запрос sql и вернуть некоторые данные (значение от меры и дату от меры) к действию doDrawFlot, в действии эти данные формируются для заполнения графа флота.
Мне нужен ArrayList < (String или Integer)> и передать его 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, это связано с тем, что я использую входной поток для передачи стороне клиента данных.
Для передачи данных, подобных массиву, и правильное форматирование на флоте абсолютно необходимо использовать Json (или Gson)?
Или моя текущая сборка может выполнить эту работу?
Любые идеи (исправления кода, POJO, простые учебники для нуба) или рекомендации?
Я использую 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 Спасибо за ваш комментарий, вопрос обновлен. –