springmvc綁定pojo

當有很多參數的時候,我們肯定不能用一個個參數,springmvc可以使用pojo對象來獲取這次請求中的所有參數,並且全部封裝到這個對象裏面。
既然如此我們來討論一下複雜的情況,就是類裏面還有類,比如學生類和班級類。
一個學生類裏定義了個班級變量。
我是xxx,我的班級是啥,班主任叫啥。
舉個例子
這裏寫圖片描述
這裏注意啊,如果類裏有date類型,在該字段上加上註解 @DateTimeFormat(pattern=”yyyy-MM-dd”),這樣從前臺傳來值的時候,可以自動映射。

form表單

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>首頁</title>
</head>
<body>
<form action="/student/add.do" method="post">
    username:<input type="text" name="username"/><br/>
    sex:<input type="radio" name="sex" value="MALE"/>男生
        <input type="radio" name="sex"value="FEMALE"/>女生<br/>
    age:<input type="text" name="age"/><br/>
    <!-- POJO支持級聯屬性,所以name屬性是如下的寫法,aClass.classId,意思就是有一個aClass的類,類裏面有classId屬性 -->
    classId:<input type="text" name="aClass.classId"/><br/>
    className:<input type="text" name="aClass.className"/><br/>
    班主任:<input type="text" name="aClass.bzr"/>
    <input type="submit" value="提交" />
</form>
</body>
</html>

controller層

@Controller
@RequestMapping("/student")
public class AddStudent {
    public static final Logger log= LoggerFactory.getLogger(AddStudent.class);
    @RequestMapping(value = "/add.do",method = RequestMethod.POST)
    public String add(Student student, Model model){
        model.addAttribute(student);
        log.info(student.toString());
        return "listStudent";
    }
}

這裏面已經做了視圖映射,將會回到web-inf下面的view/listStudent.jsp頁面。
結果是:
這裏寫圖片描述
tips:這裏性別用的枚舉類型,所以input輸入框中value一開始用的男女一直報400,注意要和枚舉值相同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章