如何访问角度js中的对象数组的会话变量

时间:2018-05-18 13:32:46

标签: angularjs spring-mvc session-variables ng-options

有一个像这样的位置类: -

class Location
                {
                 String name;
                 String value;
                }

我的JSP中有一个像这样的会话变量: -

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

我需要在angularJS中迭代这个'locationList'并在下拉列表中填充值。 我在ng-options中访问locationList,如下所示: -

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

我需要知道如何在angularJS中访问这个locationList,我试图在ng-init中设置它并使用但是它将值作为字符串而不是对象数组。

另外我尝试在这样的后端弹簧中设置locationList并试图在angularJS中访问它: -

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

请让我知道做这项工作的可行方法。

谢谢, Ritika

1 个答案:

答案 0 :(得分:0)

假设locationList的形状为'["London","Paris","New York"]',那将是一个未解析的JSON,因为浏览器存储基于字符串工作,以提高空间效率。

要解析它,您可以使用JSON.parse(locationList);

我做了JSFiddle showing the string being parsed into a JSON。 (打开开发工具并查找console.logs)

如果在sessionStorage中设置字符串化数组时出现问题,您可以使用angular.toJson()确保它是有效的格式。 Docs here.