Пример списка jQuery и Java

Пример jQuery и списка Java

Прямой способ перебора списка Java с помощью jQuery отсутствует, см. Следующий пример:

Пружинный контроллер

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ModelAndView getPages() {

        List list = new ArrayList();
        list.add("List A");
        list.add("List B");
        list.add("List C");
        list.add("List D");
        list.add("List E");

        ModelAndView model = new ModelAndView("somepage");
        model.addObject("list", list);

        return model;

    }

На странице JSP вы можете получить доступ к объекту списка через${List} и перебрать его через JSTL.

somepage.jsp

    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

    
    
  • ${listValue}
  • Что если я хочу передать объект List напрямую в jQuery?

    Проблема: в списке Java нет двойных кавычек

    Пример перебора списка Java с помощью jQuery$.each().

    HTML-страница

    Выше сценарий jQuert не будет выполнен «Uncaught SyntaxError: Неожиданный токен»

    HTML-страница (исходный код)

    Просмотрите исходный код html выше, Java List не заключал значения списка в двойные кавычки", поэтому jQuery не может его обработать.

    Решение: преобразовать список Java в JSON

    Решением является преобразование списка Java в формат JSON перед передачей его в jQuery. В контроллере Spring используйте Jackson (или другие процессоры JSON) для преобразования списка в формат JSON.

        @RequestMapping(value = "/", method = RequestMethod.GET)
        public ModelAndView getPages() {
    
            ObjectMapper mapper = new ObjectMapper();
    
            List list = new ArrayList();
            list.add("List A");
            list.add("List B");
            list.add("List C");
            list.add("List D");
            list.add("List E");
    
            ModelAndView model = new ModelAndView("somepage");
    
            String json = "";
            try {
                json = mapper.writeValueAsString(list);
            } catch (Exception e) {
                e.printStackTrace();
            }
    
            model.addObject("list", json);
    
            return model;
    
        }

    HTML-страница

    Просмотрите исходный код HTML:

    HTML-страница (исходный код)

    Готово.

    Note
    Чтобы перебрать массив объектов в строке в формате JSON, вам необходимо преобразовать его в объект JavaScript (сJSON.parse() или$.parseJSON()) перед его синтаксическим анализом с помощью jQuery$.each()с. См. Этот пример -JQuery Loop Over JSON String