//Controller class
@Controller
public class ListController
{
@Autowired
LanguageDao ldao;
@RequestMapping(value="doget" , method=RequestMethod.GET)
public ModelAndView doGet()
{
List<Language> lang = ldao.getActiveLanguage();
LanguageAndBeanTogether lab = new LanguageAndBeanTogether();
for(Language l: lang)
{
LanguageAndDescription lad = new LanguageAndDescription(l.getLanguageCode(), l.getLanguageFlag(), "");
lab.getLlist().add(lad);
}
System.out.println("total item in list is "+lab.getLlist().size());
ModelAndView mav = new ModelAndView("viewForm","command",lab);
return mav;
}
@RequestMapping(value="dopost",method=RequestMethod.POST)
public ModelAndView doPost(LanguageAndBeanTogether landb)
{
System.out.println(landb);
ModelAndView mav = new ModelAndView("viewForm","command",landb);
return mav;
}
}
//JSP file
<form:form action="dopost.do">
product name
<form:input path="base.productName"/><br>
<c:forEach var="language" items="${command.llist}" varStatus="vs" >
<form:hidden path="llist[${vs.index}].languageCode"/>
<img src="admin/language/original/${language.keyVal}" />
<form:input path="llist[${vs.index}].valueVal" />
</c:forEach>
<input type='submit'/>
</form:form>
//class containing list
public class LanguageAndBeanTogether
{
ProductCategory base;
List<LanguageAndDescription> llist;
//setter and getter
}
public class LanguageAndDescription
{
String languageCode,keyVal,valueVal;
//setter and getter
}
public class Language
{
Integer id;
String languageName,languageCode,languageFlag,isDefault,status;
//setters and getters
}
在上面的問題中,我總是得到窗體支持對象的空值,即LanguageAndBeanTogether。請給我一個解決方案。我有另外一個問題,有什麼辦法在春天將兩個對象綁定爲一個表單支持對象。 任何幫助非常感謝。由於彈出窗體支持對象列表總是返回空值
我已經改變了我到<輸入名稱=「LLIST [$ {VS。 index}}。valueVal「/>,正如你所建議的那樣。但仍然沒有得到列表對象 –