鍍金池/ 問答/Java  HTML/ Springmvc form標(biāo)簽關(guān)于屬性關(guān)聯(lián)問題

Springmvc form標(biāo)簽關(guān)于屬性關(guān)聯(lián)問題

model對(duì)象中有一對(duì)多的關(guān)聯(lián)關(guān)系
在頁面使用:

<form:form action="" commandName="form" method="post">

如何設(shè)置一對(duì)多關(guān)聯(lián)的對(duì)象?
比如有班級(jí)類:

public class  ClassObj{
    private String name;
    private Set<Student> students;
    /** getter setter **/
}

學(xué)生類:

public class  Student{
    private String name;
    /** getter setter **/
}

那頁面的<form:form>標(biāo)簽該怎么寫,才能在一個(gè)form中設(shè)置好一對(duì)多的關(guān)聯(lián)對(duì)象?

回答
編輯回答
喜歡你

可以使用spring的WebDataBinder
服務(wù)端:

@InitBinder("classObj")
public void initUser(WebDataBinder binder){
    // 設(shè)置對(duì)象前綴
    binder.setFieldDefaultPrefix("classObj.");
}
@InitBinder("student")
public void initAdmin(WebDataBinder binder){
    binder.setFieldDefaultPrefix("student.");
}

@RequestMapping(value = "xxx")
@ResponseBody
public String xxx(ClassObj classObj, Student student){
    // do something    
}

form表單內(nèi):

<input name='classObj.name' />
<input name='student.name' />
2017年12月28日 13:43