Plusieurs méthodes permettant à Java Spring Controller d'obtenir les paramètres de la requête
1. Écrivez directement les paramètres du formulaire dans les paramètres formels de la méthode correspondante du Controller. Il convient à la soumission par la méthode get, mais. ne convient pas à la soumission par la méthode postale. Si "Content-Type"="application/x-www-form-urlencoded", vous pouvez utiliser la publication pour soumettre le formulaire
URL : http://localhost:8080/SSMDemo/demo/addUser1?username= lixiaoxi&password=111111 Les paramètres soumis doivent être cohérents avec les noms des paramètres d'entrée dans la méthode Controller.
/** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1(String username,String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
2. Recevez via HttpServletRequest, les méthodes de publication et d'obtention sont disponibles.
/** * 2、通过HttpServletRequest接收 * @param request * @return */ @RequestMapping("/addUser2") public String addUser2(HttpServletRequest request) { String username=request.getParameter("username"); String password=request.getParameter("password"); System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
3. Recevez via un bean, les méthodes de publication et d'obtention sont disponibles.
/** * 3、通过一个bean来接收 * @param user * @return */ @RequestMapping("/addUser3") public String addUser3(UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
4. Utilisez l'annotation @ModelAttribute pour obtenir les données du formulaire FORM de la requête POST
/** * 4、使用@ModelAttribute注解获取POST请求的FORM表单数据 * @param user * @return */ @RequestMapping(value="/addUser5",method=RequestMethod.POST) public String addUser5(@ModelAttribute("user") UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
5. l'annotation @RequestParam pour lier Définissez les paramètres de requête sur les paramètres d'entrée de la méthode
Lorsque le paramètre de requête nom d'utilisateur n'existe pas, une exception se produira. Cela peut être résolu en définissant l'attribut require=false, par exemple :
@RequestParam(value="username", required=false) **** 若"Content-Type"="application/x-www-form-urlencoded",post get都可以 **** 若"Content-Type"="application/application/json",只适用get /** * 5、用注解@RequestParam绑定请求参数到方法入参 * @param username * @param password * @return */ @RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
6. Utilisez request.getQueryString() pour obtenir les paramètres de la requête d'obtention Spring MVC. Cela s'applique uniquement aux requêtes d'obtention
@RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(HttpServletRequest request) { System.out.println("username is:"+request.getQueryString()); return "demo/index"; }