java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据
原標題:Java程序員必看之springmvc中的Model對象在重定向中的數據
在springmvc框架中,一個handler方法中的參數可以內置接收Model類型的對象,主要用于存儲數據之用,主要用在轉發效果,那么能否用在重定向中呢?
我們先來看一個model的簡單使用演示。
首先搭建好springmvc環境,springmvc使用的是5.0.2.RELEASE版本。——下面的代碼只貼出核心部分
步驟一:web.xml
——主要配置springmvc的核心控制器
dispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:springmvc.xml
1
dispatcherServlet
/
步驟二:springmvc.xml
步驟三:Controller類
package springmvc;
@Controller
public class ModelAndViewTextController {//方法待實現}
步驟四:success.jsp
數據展示
${message}
下面來測試model的基本使用:
需求說明:發送一個testModel請求,后臺接收并轉發到success.jsp頁面,將訪問成功的信息帶過去。
下面是controller類中方法的完成:
@RequestMapping("/testModel")
public String testModel(Model model){
model.addAttribute("message","測試model成功");
return "success";
}
大家注意觀察,此處model添加的屬性名message要和jsp中的${message}相一致。
啟動服務訪問后,效果如下:
上述演示的是model模仿request域對象完成轉發帶數據的效果。下面,我們來通過一個springmvc重定向的演示,來看一下model還能怎么用。
我們都知道,重定向表示會重新發起一個請求,采用的是不同的request對象,即,上一個request域對象中村的數據,下一次請求無法獲取了,那么,model.addAttribute()方法存入的數據能不能在重定向時獲取呢?
需求說明:發起一個請求 “/dataRedirect?username=宙斯”傳遞用戶名為宙斯,后臺handler1接收該參數,并存放到model中,handler1再通過重定向到另一個url “redNext”,在該方法參數中,嘗試獲取handler1中model的數據
我們在上述環境基礎上,再次開發。
在Controller類中添加第一個處理方法
/**
* 使用請求路徑 進行訪問/dataRedirect?username=宙斯
* @param username //接收請求參數數據
*/
@RequestMapping("/dataRedirect")
public String redirectTest(Model model,String username){
System.out.println("打印dataRedirect接收到的數據:" + username);
model.addAttribute("name",username); //將接收到的數據放到model中
return "redirect:redNext"; //重定向到redNext
}
開發第二個重定向的處理方法
@RequestMapping("/redNext")
//注意,參數中的name和上一個redirectTest方法中,model設置的屬性名保持一致
public String redNext(Model model,String name){
System.out.println("從dataRedirect轉發過來之后,接收的數據:" + name);//打印name
return "success";//重定向到success.jsp頁面
}
啟動項目查看效果,注意網絡請求過程以及后臺打印結果
網絡請求過程以及顯示效果:
后臺打印效果:
會發現,model將第一次請求中設置的屬性值當做新的請求參數傳遞給了下一次轉發路徑所需參數中了。
咱們modeel的這種完成重定向傳參的效果演示完畢!返回搜狐,查看更多
責任編輯:
總結
以上是生活随笔為你收集整理的java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java线程暂停_Java之线程停止
- 下一篇: java美元兑换,(Java实现) 美元