2013-10-06 46 views
1

我已經在控制器類中初始化方法,我將字符串列表添加到模型和視圖中。Spring MVC將對象傳遞給JSP並返回

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

非常感謝!

回答

2

爲什麼您的${myList} EL表達式被引用?擺脫單引號

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

我想在此按鈕上點擊火災的事件,併發送myList中對象返回 到控制器

myList不再在Java的形態存在的。它在您的myList var對象中以序列化格式存在。您需要將其序列化爲您的Web應用程序可以理解的格式:表單對象,逗號分隔列表,JSON,XML等。

+0

非常感謝。請你指點一下,或者提供一個例子來說明如何在JS端操縱'myList'。以及如何將更新的對象發送回控制器。謝謝! –

相關問題