Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Spring MVC:如何访问模型对象列表<;字符串>;在JS中?_Javascript_Spring_Model View Controller_Model_Controller - Fatal编程技术网

Javascript Spring MVC:如何访问模型对象列表<;字符串>;在JS中?

Javascript Spring MVC:如何访问模型对象列表<;字符串>;在JS中?,javascript,spring,model-view-controller,model,controller,Javascript,Spring,Model View Controller,Model,Controller,在SpringMVC中,这应该是一个微不足道的知识,但我被困在这个棘手的部分。 显然我错过了一些重要的事情 因此,我想: 将从数据库中获取的姓名列表发送到前端 在列表名称中添加一个额外的名称(在控制器端) 访问jsp文件中javascript变量中的名称列表 //控制器 List<String> names = namesService.getnames(); ("John", "Peter", "John" ) names

在SpringMVC中,这应该是一个微不足道的知识,但我被困在这个棘手的部分。 显然我错过了一些重要的事情

因此,我想:

  • 将从数据库中获取的姓名列表发送到前端
  • 在列表名称中添加一个额外的名称(在控制器端)
  • 访问jsp文件中javascript变量中的名称列表
  • //控制器

    List<String> names = namesService.getnames(); ("John", "Peter", "John" )
    names.add("Nick"); 
    model.addAttribute("names", names); 
    //JSP
    <script type="text/javascript">
        var names = ${names};
    </script>
    

    为什么会这样?我如何解决它?

    当您使用
    ${names}
    时,它调用
    名称
    对象的
    toString()
    方法并返回其结果。例如,考虑下面的代码:

    List<String> names = new ArrayList<>();
    names.add("alice");
    names.add("bob");
    

    我只是很好奇,为什么从hibernate服务填充名称时不会发生这种情况<代码>列表名称=名称服务。getnames();//(“约翰”、“彼得”、“约翰”)
    ?从java/控制器的角度来看,当您使用
    names.add(“alice”)
    时,应该没有任何区别@fatecasino您能提供hibernate服务的源代码吗?我使用jpa/hibernate再次测试了它。问题仍然存在,您必须用
    List<String> names = new ArrayList<>();
    names.add("alice");
    names.add("bob");
    
    <script type="text/javascript">
        var names = [alice, bob]
    </script>
    
    List<String> names = new ArrayList<>();
    names.add("'alice'");
    names.add("'bob'");