Ajax Post submits the controller to the SPRINGMVC and passes the processing results to the foreground output summary (6)--Several ways for the SPRINGMVC controller to get the parameters

Source: Internet
Author: User

Reference: http://www.cnblogs.com/xiaoxi/p/5695783.html

1, directly the parameter of the form is written in the parameters of the controller corresponding method, applicable to the Get method submission, not for post mode submission.

    /**     * 1. Write the parameters of the form directly in the parameter of the controller corresponding method      * @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";    }

URL form: The arguments submitted by http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111 need to match the name of the incoming parameter in the Controller method.

2, through the HttpServletRequest receive, the post way and get way can.

    /**     * 2, receive through 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, through a bean to receive, post and get the method can be.
(1) Create a bean corresponding to the parameters in the form

Package Demo.model;public class Usermodel {        private String username;    private String password;    Public String GetUserName () {        return username;    }    public void Setusername (String username) {        this.username = username;    }    Public String GetPassword () {        return password;    }    public void SetPassword (String password) {        this.password = password;    }    }

(2) Use this bean to encapsulate the received parameters

    /**     * 3, through a bean to receive      * @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. Get the parameters in the path by @pathvariable

    /**     * 4, get the parameters in the path through @pathvariable      * @param username     * @param password     *     @return    * * Requestmapping (value= "/adduser4/{username}/{password}", Method=requestmethod.get)
public string addUser4 (@PathVariable string username, @PathVariable string password) { System.out.println (" Username is: "+username); SYSTEM.OUT.PRINTLN ("Password is:" +password); return "Demo/index"; }

For example, when accessing the http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111 path, the template variables {username} and {password} in the URL are automatically Bind to a parameter with the same name through @pathvariable annotations, that is, Username=lixiaoxi, password=111111 after the entry.
5. Use @modelattribute annotations to get the form form data for the POST request
The JSP forms are as follows:

<form action = "<%=request.getcontextpath ()%>/demo/adduser5" method= "POST" >      user name:&nbsp;< Input type= "text" name= "username"/><br/>     secret &nbsp;&nbsp; code: &nbsp;<input type= "Password" Name= "Password"/><br/>     <input type= "Submit" value= "Submit"/>      

The Java controller is as follows:

    /**     * 5, use the @modelattribute annotation to get the form form data for the POST request      * @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";    }

6. Binding request parameters to method @requestparam with annotations

An exception occurs when the request parameter username does not exist and can be resolved by setting the property Required=false, for example: @RequestParam (value= "username", Required=false)

    /**     * 6, with annotations @requestparam binding request parameters to the method into the parameter      * @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";    }

Ajax Post submits the controller to the SPRINGMVC and passes the processing results to the foreground output summary (6)--Several ways for the SPRINGMVC controller to get the parameters

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.