springMVC:將controller中數據傳遞到jsp頁面


1> 將方法的返回值該為ModelAndView在返回時,將數據存儲在ModelAndView對象中如:

newModelAndView("/WEBINF/jsp/showData.jsp","message",message)

其中第一個參數為url,第二個參數為要傳遞的數據的key,第三個參數為數據對象。

在這里要注意的是 數據是默認被存放在request中的。

示例:

@RequestMapping(value="/mad/showData_1.do") public ModelAndView showData_1(){ String message = "這個是要傳遞的數據"; /*其中第一個參數為url,第二個參數為要傳遞的數據的key,第三個參數為數據對象。在這里要注意的是:數據是默認被存放在request中的。*/ return new ModelAndView("/WEB-INF/jsp/showData.jsp","message",message); }

前台頁面獲取方式: 
request:${requestScope.message}

2> 可以在類的前面添加注解 
@SessionAttributes({“message”,”user”})

這個注解可以設置對應的model中參數也會在session中存儲一份。該注解中的參數為一個集合,
可以寫多個,如上面的例子,其中message和user都是存儲的數據的key.

示例程序:

@SessionAttributes({"message","user"}) //modelAndView中的對應的數據也會在session中存儲一份

頁面獲取:

session:${sessionScope.message}<br/>

3 > 數據modelAndView返回一個集合

該處理方式和上面的處理方式一直,因為modelAndView接受的數據類型是Object的,集合也是一樣的處理方式

示例:

//使用modelAndView對象將數據傳遞到前台。
//傳遞多個參數(不同類型的) @RequestMapping(value="/mad/showData_2.do") public ModelAndView showData_2(){ System.out.println("showData_2"); String message = "這個是要傳遞的數據"; User user = new User("張三", 12, new Date()); List<User> us= new ArrayList<User>(); us.add(new User("張三", 12, new Date())); us.add(new User("張四", 13, new Date())); us.add(new User("張五", 14, new Date())); ModelAndView mad = new ModelAndView("/WEB-INF/jsp/showData.jsp"); //將數據存入modelMap mad.addObject("message", message); mad.addObject(user);//默認為類名的首字母小寫 mad.addObject("users", us); return mad; }

前台頁面獲取方式:

request:${requestScope.message}<br/>
<c:forEach items="${requestScope.users }"var="u"> ${u.name }-${u.age }-${u.birth }<br/> </c:forEach>

4、使用modelAndView傳遞多個參數。

可以通過ModelAndView的mad.addObject(“message”,message);方法設置參數。 
該方法中第一個參數為數據的key,第二個參數為數據對象。 
也可以使用mad.addObject(user);方法 
該方法中數據的參數為數據對象,數據的key為該對象的類的類名 
(其中首字母小寫)。

5、使用ModelMap傳遞多個數據到jsp中。

在方法的參數列表中添加形參 ModelMap map,spring 會自動創建ModelMap對象。

然后調用map的put(key,value)或者addAttribute(key,value)將數據放入map中,spring會自動將數據存入request。

示例:

//使用modelMap對象將數據傳遞到前台。
   //傳遞多個參數(不同類型的) @RequestMapping(value="/mad/showData_3.do") public String showData_3(ModelMap map){ System.out.println("showData_3"); String message = "這個是要傳遞的數據"; User user = new User("張三", 12, new Date()); List<User> us= new ArrayList<User>(); us.add(new User("張三", 12, new Date())); us.add(new User("張四", 13, new Date())); us.add(new User("張五", 14, new Date())); //將數據存入modelMap map.put("message", message); map.addAttribute("user", user); map.put("users", us); return"/WEB-INF/jsp/showData.jsp"; }

頁面調用:

request:${requestScope.message}<br/> session:${sessionScope.message }<br/> application:${applicationScope.message}<br/> <hr/> <h1>ModelMap中的數據</h1> ${requestScope.message}<br/> ${requestScope.user.name}<br/> <p>列表</p> <c:forEach items="${requestScope.users}" var="u"> ${u.name }-${u.age }-${u.birth }<br/> </c:forEach>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM