22
Янв
2018

Передача данных JSON из контроллера Java в представление JS

Есть jsp страница, которая обрабатывает выпадающий список:

<div class="fetch-dc-block col-xs-4" align="right" id="ds">
  <%
    ......
  %>
  <select size="5" multiple="multiple" title="РЦ" id="dcsel"
    name="dcenters" align="right">
    <%
      .......
    <%
      }
    %>
  </select>
  <%
    ...
  %>
</div>

Мне нужно переписать эту логику на js. Для это я использую такую цепочку: контроллер берет данные, помещает их в json и через response передает их в представление.

Класс java с методом для контроллера:

public class JsnResponse {
    public static <T> void sendJSONRequest(final HttpServletRequest request, final HttpServletResponse response, T t) throws IOException {
        synchronized (response) {
            Gson gson = new Gson();
            response.setContentType("application/json");
            response.setCharacterEncoding("UTF-8");
            String dataJson = gson.toJson(t);
            PrintWriter pw = response.getWriter();
            try {
                synchronized (pw) {
                    pw.print(dataJson);
                    pw.close();
                }
            } catch (NullPointerException e) {
                Syslog.error(JSONResponse.class, "Ошибка при записи PrintWriter");
                e.printStackTrace();
            }
        }
    }

    public void GetItem(HttpServletRequest request, HttpServletResponse response) {
        String[] rc = request.getParameterValues("dcsel");
        try {
            JSONResponse.sendJSONRequest(request, response, rc);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

Теперь нужно как-то распарсить данные из GetItem в js. Как это грамотно сделать?

По идее я должен создать js файл, в котором пишу указание на мой метод:

function GetItem() {
    $.getJSON(defaultPath + 'reports/GetItem', null, function (data) {
        arr = data;
    }
}

Источник: https://ru.stackoverflow.com/questions/773913/%D0%9F%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-json-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0-java-%D0%B2-%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-js

Тебе может это понравится...

Добавить комментарий