コントローラの4つのスコープ

リクエスト、セッション、アプリケーション

  • リクエストを取得するためのパラメータはHttpServletRequestです
  • セッションはリクエストにより取得できます。また、パラメータを設定してセッションを取得することもできます。
  • 申請は依頼により取得できますが、パラメータによる申請はできません。
@RequestMapping("demo1")
	public String demo(HttpServletRequest abc){
    
    
		abc.setAttribute("a", "a的值");
		HttpSession session = abc.getSession();
		session.setAttribute("b", "b的值");
		
		ServletContext application = abc.getServletContext();
		application.setAttribute("c", "c的值");
		return "index";
	}

リクエストの他のバリエーション

パラメータはマップするように設定され、キーと値のペアを配置し、実際にはrequest.setAttributeを使用します

@RequestMapping("demo2")
	public String demo2(Map<String,Object>map){
    
    
		map.put("map", "map的值");
		return "index";
	}

根本的な範囲はまだ要求であり、薬を変更せずにスープを変更します

@RequestMapping("demo3")
	public String demo3(Model model){
    
    
		model.addAttribute("model", "model的值");
		return "index";
	}

それでもリクエストですが、ビュー関数が追加され、戻り値のタイプはModelAndViewであり、オブジェクトの作成時にジャンプのjspが設定され、addObjectはreq.setAttributeと同等です。

@RequestMapping("demo4")
	public ModelAndView demo4(){
    
    
		ModelAndView mav=new ModelAndView("index");
		mav.addObject("mav", "mav的值");
		return mav;
	}

jspのスコープの値を確認します

以下の各キーと値のペアを抽出する場合、xxxScopeを追加する必要はありません。追加する必要はありません。追加しない場合は、名前で検索し、最小のスコープから開始して、見つかったら停止します。 1。

	request:${requestScope.a}<br>
	session:${sessionScope.b}<br>
	application:${applicationScope.c}<br> 
	map:${requestScope.map}<br> 
	model:${requestScope.model }<br> 
	modelAndView:${requestScope.mav}<br> 

おすすめ

転載: blog.csdn.net/WA_MC/article/details/113108499