MVC参数传递

请求参数自动类型转换

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<form action="/fourth/oneRequest" method="post">
    账户:<input type="text" name="userName"/>
    密码:<input type="password" name="userpwd"/>
    <input type="submit" value="登陆"/>
</form>
</body>
</html>

(控制器Controller中的方法参数名称必须和表单元素的name属性值保持一致)

@Controller
@RequestMapping("/fourth")
public class FourthController {

    /**
     * 1、请求参数的自动类型转换
     * @param userName
     * @param userpwd
     * @param model
     * @return
     * 控制器Controller中的方法参数名称必须和表单元素的name属性值保持一致
     */
    @RequestMapping(value = "/oneRequest")
    public String oneRequest(String userName,String userpwd, Model model){
        System.out.println(userName+"\t"+userpwd);
        model.addAttribute("userCode",userName);
        return "welcome";
    }

}

 

@RequestParam注解

jsp页面

 

 

 Controller

RequestMethod.POST

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<form action="/fourth/twoRequest" method="post">
    账户:<input type="text" name="userName"/>
    密码:<input type="password" name="userpwd"/>
    <input type="submit" value="登陆"/>
</form>
</body>
</html>

Controller

(此处必须设置请求类型,否则会显示405错误)

/**
 * 2、RequestMethod.POST 此处必须设置请求类型 否则将会显示405错误
 * @param userName
 * @param userpwd
 * @param model
 * @return
 *  控制器Controller中的方法参数名称必须和表单元素的name属性值保持一致
 */
@RequestMapping(value = "/twoRequest",method = RequestMethod.POST)
public String twoRequest(String userName,String userpwd, Model model){
    System.out.println(userName+"\t"+userpwd);
    model.addAttribute("userCode",userName);
    return "welcome";
}

RESTFUL风格的参数传递

 

 

 对象参数

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<form action="/fourth/Info" method="post">
    账户:<input type="text" name="userName"/>
    密码:<input type="password" name="userpwd"/>
    <input type="submit" value="登陆"/>
</form>
</body>
</html>
/**
 * 5、对象参数
 */
@RequestMapping(value = "/Info")
public String UserRequest(UserInfo info){
    System.out.println(info.getUserName());
    return "welcome";
}

域属性对象参数

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<form action="/fourth/userInfoRequest" method="post">
    teacher01:<input type="text" name="teacher.teacherName"/>
    <input type="submit" value="登陆"/>
</form>
</body>
</html>
/**
 * 6、域属性对象参数
 */
@RequestMapping(value = "/userInfoRequest")
public String UserInfoRequest(UserInfo info){
    System.out.println(info.getTeacher().getTeacherName());
    return "welcome";
}

域属性集合参数

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>登陆</title>
</head>
<body>
<form action="/fourth/userInfoRequest" method="post">
    teacher02:<input type="text" name="teacherList[0].teacherName"/>
    teacher03:<input type="text" name="teacherList[1].teacherName"/>
    <input type="submit" value="登陆"/>
</form>
</body>
</html>
/**
 * 7、域属性集合参数
 */
@RequestMapping(value = "/userListRequest")
public String UserListRequest(UserInfo info){
    System.out.println(info.getTeacherList());
    return "welcome";
}

 

posted @ 2019-11-10 12:56  林染plus  阅读(1078)  评论(0编辑  收藏  举报