SpringMVC-要求パラメータとページ参照の受信


SpringMVC-要求パラメータとページ参照の受信
 
  1.HttpServiceletRequestを使用して取得
@RequestMapping("/test.do")  
public String test(HttpServletRequest request){  
    String name = request.getParameter("name")  
    String pass = request.getParameter("pass")  
} 

  2.Springは、Struts 2と同様にフォームパラメータをメソッドパラメータに自動的に注入し、フォームのname属性と一致します.
@RequestMapping("/test.do")  
public String test(HttpServletRequest request,  String name,  
 @RequestParam("pass")String password) //      pass,   password    
{  
   System.out.println(name);  
   System.out.println(password)  
}  

  3.自動注入Bean属性
<form action="test.do">  
      :<input name="name"/>  
     :<input name="pass"/>  
   <input type="submit" value="  ">  
</form>  
//   User   
public class User{  
  private String name;  
  private String pass;  
}  
@RequestMapping("/test.do")  
public String test(User user)  
{  
       System.out.println(name);  
       System.out.println(password)  
}  

    4.Controllerコンポーネントが処理された後、jspページに値を送る:
       1)HttpServeretRequestとSessionを使用してsetAttribute()を設定すると、Serveretと同じになります.
       2)ModelAndViewオブジェクトを使用します.
       3)ModelMapオブジェクトを使用します.
       4)@ModelAttribute注記を使用する.
 
       ModelデータはHttpServeretRequestのAttributeを利用してtest.jspに伝達する.
@RequestMapping("/test.do")  
public ModelAndView  test(String name,String pass){  
    User user = userService.test(name,pwd);  
    Map<String,Object> data = new HashMap<String,Object>();  
    data.put("user",user);  
    return new ModelAndView("success",data);  
}  

      ModelMapパラメータオブジェクトの使用例:
      ModelMapデータはHttpServertRequestのAttributeを利用してtest.jspに伝達する.
@RequestMapping("/test.do")  
public String test(String name,String pass ,ModelMap model){  
    User user  = userService.test(name,pwd);  
    model.addAttribute("user",user);  
    model.put("name",name);  
    return "success";  
}  

      @ModelAttributeの例を使用します.
      Controllerメソッドのパラメータ部分またはBean属性メソッドで使用する.
    @ModelAttributeデータは、HttpServiceRequestのAttributeを利用してtest.jspに伝達する.
@RequestMapping("/test.do")  
public String test(@ModelAttribute("user") User user){  
    //TODO  
   return "success";  
}  
  
@ModelAttribute("name")  
public String getName(){  
    return name;  
}  

       Sessionストレージ:
       HttpServiceReequestのgetSession()メソッドを利用することができる.
@RequestMapping("/test.do")  
public String test(String name,String pwd  
                            ModelMap model,HttpServletRequest request){  
     User user = serService.test(name,pwd);  
     HttpSession session = request.getSession();  
     session.setAttribute("user",user);  
     model.addAttribute("user",user);  
     return "success";  
}  

     5.Spring MVCのデフォルトでは、転送を使用してビューを配置します.リダイレクトを使用する場合は、次のように操作できます.
        1)RedirectViewを使用する.
        2)redirect:接頭辞を使用する.
public ModelAndView test(){  
   RedirectView view = new RedirectView("regirstTest.do");  
   return new ModelAndView(view);  
} <strong> </strong>

        あるいは、次の方法で、仕事でよく使われる方法です.
public String test(){  
    //TODO  
    return "redirect:regirstTest.do";  
}