Spring MVC将对象传递给JSP并返回

时间:2013-10-06 17:12:34

标签: java javascript jquery jsp spring-mvc

我是控制器类,我初始化方法,我将字符串列表添加到模型和视图。

@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方法的示例方法。

非常感谢!

1 个答案:

答案 0 :(得分:2)

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

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

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

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