1. 程式人生 > >springMVC:將controller中資料傳遞到jsp頁面

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 }-<span class="hljs-variable">${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>

相關推薦

springMVC:controller資料傳遞jsp頁面

1> 將方法的返回值該為ModelAndView在返回時,將資料儲存在ModelAndView物件中如: newModelAndView("/WEBINF/jsp/showData.jsp","message",message) 其中第一個引數為url,第二個引數為要傳遞的資料的key,第三個引數為資料

springMVC:controllerModel資料傳遞jsp頁面

在action中存放資料,程式碼如下: @Controller // 加入到IOC容器 //@RequestMapping(value="/topic") public class TopicAction { @Resource(name = "t

Controller資料傳遞到View顯示

如何將Controller 中的資料傳送到View 步驟: (1)要有資料,如果要用到物件可以在Model 中定義對應的類 (2)要有裝資料的容器: System.Text.StringBuilder sbHtml = new System.Text.StringBuild

Spring MVC(三)控制器獲取頁面請求引數以及控制器資料傳遞頁面和實現重定向的方式

首先做好環境配置 在mvc.xml裡進行配置   1.開啟元件掃描   2.開啟基於mvc的標註   3.配置試圖處理器 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www

SpringMVC作為Controller向前端傳遞JSON資料,前端用Extjs接收

由於專案需求,前端使用Extjs的treePanel元件做選單,一個與後臺互動的樹形選單需要三個重要的元件: 1、model:model作為資料來源,是將後臺傳過來的json資料與前端統一。 例如:後臺獲取到一組物件集合List< User >,

如何把資料庫的String型別的資料jsp頁面上轉化為date型別的資料

<span style="font-size:18px;">jsp頁面引入:<<a target=_blank href="mailto:%@taglib">%@tagl

在MyEclipse設置jsp頁面為默認utf-8編碼

技術 logs utf tor and ren 創建 菜單 下拉框 在MyEclispe中創建Jsp頁面,Jsp頁面的默認編碼是“ISO-8859-1”,如下圖所示: 在這種編碼下編寫中文是沒有辦法保存Jsp頁面的,會出現如下的錯誤提示: 因此可以設置Jsp默認的編碼為

springMVCcontrollerinsert()多次,記優惠券被多次領取

校驗 syn https gmv list spring 源代碼 null tro 做活動,要發優惠券,規定一人只能領取一次(一張)。一天下來發現有一個客戶領到了4張,且是同一秒生成的,源代碼如下: 估計多個線程同時進了add方法。 想到了單例的雙重校驗,現修改代碼如

c語言 記憶體資料以二進位制形式寫入檔案 檔案資料表現形式

最近有在寫關於將記憶體中的資料寫入檔案的程式,當程式執行後,卻發現檔案中的位元組資料有些難以理解。思考後發現了其中的道理。 程式碼如下: #include<stdio.h> #include<stdlib.h> struct BlockInfo { bool is

關於springMVC和傳統servlet框架從jsp頁面向後臺請求url問題

經過實驗  發現 servlet和springmvc向後臺傳送請求都是根據request.getServletPath()來獲取請求的 如果jsp中沒有<base href="<%=basePath%>">則向後臺的請求會自動解析到專案根目錄下 加上以後

利用shellmysql資料匯出到檔案和執行mysql語句

利用mysqldump匯出mysql資料 匯出指定條件的資料庫 命令格式 mysqldump -u使用者名稱 -p密碼 -h主機 -P埠 資料庫名 表名 --where "sql語句" > 路徑 示例程式碼 #!/bin/bash #變數定義 host="127.0.

springMVC——url的引數轉成實體

控制層 package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapp

使用rander() 後臺的資料傳遞到前臺介面顯示出來

1、建立templates資料夾 2、在該資料夾內建立html介面a.html 3.views.py:   def a(request):     love='iloveyou'     return render(request,'a.html',{'aaa':love}) 4.a.html

MySQL資料匯入到MongoDB

第一步: 將user表從MySQL中匯出,右鍵,點選匯出嚮導,選擇格式為xlsx。 第二步: 匯出完成後,雙擊開啟user.xlsx,將user.xlsx另存為csv格式的檔案。(切記不可直接修改後綴名,會導致亂碼,無法匯入到MongoDB中,血的教訓) 第三步:

Android開發資料傳遞大集合

眾所周知,Android開發中資料傳遞方式多種多樣,根據不同的用途需要選擇不同的傳遞方式。作為剛接觸Android才一年的freshman來說,第一次寫部落格還是有點緊張的,嘿嘿。好咯,言歸正傳,進入正題。 據我目前瞭解,資料傳遞方式有 (1)最基本的

如何Word資料轉換為excel表格

如何將Word轉Excel是日常辦公中常常會遇到的問題。那我們該如何操作才能將Word文件轉換成Excel表格呢。下面就教大家兩種Word轉Excel的方法。 Excel培訓 方法一:word表格轉excel 直接複製word表格——在excel中選擇黏貼——調整表格格式使得表格更美觀

SpringBoot內建SpringMVC控制器轉發到對應的JSP頁面報Could not resolve view with name 'xx' in servlet with name dispa

錯誤如下: 請求: 處理方式: 在主啟動類中增加一下程式碼即可解決問題: @Bean public InternalResourceViewResolver setupViewResolver(){ InternalResourceViewResolver res

struts2直接訪問jsp頁面報錯解決方法!

問題描述: The Struts dispatcher cannot be found.  This is usually caused by using Struts tags without the associated filter. Strut s tags

SpringMVCController獲取spring上下文和springMVC上下文

1.web上下文、spring上下文、springMVC上下文之間的關係 本段轉載自:https://segmentfault.com/q/1010000000210417 要想很好理解這三個上下文

struts2 action獲取jsp頁面的引數的方法

例項:現在jsp頁面傳遞一個名為username的引數到action中 一、通過get set方法獲取 在對應的action類中定義同名變數,並生成set get方法,那麼引數將會自動獲取值 String username;  public String getUsern