我在控制器类中初始化了要在模型和视图中添加字符串列表的方法。

@RequestMapping(value = "/my-site", method = RequestMethod.GET)
public ModelAndView doStuff(HttpServletRequest request){

    ModelAndView modelAndView = new ModelAndView("do-stuff");
        ...

    List<String> list = Arrays.asList("abc", "cba");
    modelAndView.addObject("myList", list);
    return modelAndView;
}


问题编号1:如何访问jsp文件中的列表并稍后在Java脚本中使用它?
我正在尝试类似的东西:

var myList = [];
<c:forEach var="entry" items="'${myList}'">
        myList.push("${entry}");
    </c:forEach>


但是出于某种原因,我的myList对象中没有两个元素:“ abc”和“ cba”,但我有“ [abc”,“ cba]”,其中包含额外的符号。为什么?我做错了什么以及如何解决此问题?

问题编号2:我有输入按钮。

<input type="button" id="executeBtn" name="executeBtn" value="Execute">


我想在此按钮上单击触发事件并将myList对象发送回控制器。
您能否提供JS端的示例方法和Controller的方法。

非常感谢!

最佳答案

为什么您的${myList} EL表达式被引用?摆脱单引号

var myList = [];
<c:forEach var="entry" items="${myList}">
    myList.push("${entry}");
</c:forEach>



  我想在此按钮上单击以触发事件并将myList对象发送回
  到控制器


myList不再以Java形式存在。它以序列化格式存在于您的myList var对象中。您需要将其序列化为Web应用程序可以理解的格式:表单对象,逗号分隔列表,JSON,XML等。

10-06 12:51
查看更多