Как получить доступ к переменной сеанса, которая является массивом объектов в угловых js - PullRequest
0 голосов
/ 18 мая 2018

Есть класс Location, подобный этому: -

class Location
                {
                 String name;
                 String value;
                }

У меня есть переменная в сеансе, подобная этой, в моем JSP: -

<% EmployeeBean empBean = (EmployeeBean)session.getAttribute("INEmployeeBean");
 Location[] locationList = empBean.getLocations(); %>

Мне нужно повторить этот 'locationList'в angularJS и введите значение в раскрывающемся списке.Я обращаюсь к locationList в параметрах ng следующим образом: -

ng-options = "location.value for location in locationList track by location.name"

Мне нужно знать, как получить доступ к этому locationList в angularJS, я пытался установить его в ng-init и использовать, но он принимает значениекак строка, а не массив объектов.

Также я попытался установить locationList в backend spring, как это, и попытался получить доступ к нему в angularJS: -

  ModalAndView mv = new ModalAndView('location');
  mv.addObject('locationList',locationList);

Пожалуйста, дайте мне знать возможный подход к созданиюэта работа.

Спасибо, Ритика

1 Ответ

0 голосов
/ 18 мая 2018

Предполагая, что locationList имеет форму '["London","Paris","New York"]', это будет неразобранный JSON, потому что хранилище браузера работает на основе строк для экономии места.

Для его анализа вы можете использоватьJSON.parse(locationList);

Я создал JSFiddle, показывающий, что строка анализируется в JSON .(Откройте инструменты разработчика и найдите console.logs)

В случае возникновения проблемы при установке строкового массива в sessionStorage, вы можете использовать angular.toJson(), чтобы убедиться, что это правильный формат. Документы здесь.

...