如何在SpringMVC中将包含哈希映射的列表从jsp传递到页面提交上的控制器
控制器中的列表大小为0。 JS文件只是提交表单,jsp文件迭代hashMap列表,该列表在页面加载时填充,第三个是在jsp页面中单击submit按钮后接收列表的控制器如何在SpringMVC中将包含哈希映射的列表从jsp传递到页面提交上的控制器,spring,jsp,spring-mvc,Spring,Jsp,Spring Mvc,控制器中的列表大小为0。 JS文件只是提交表单,jsp文件迭代hashMap列表,该列表在页面加载时填充,第三个是在jsp页面中单击submit按钮后接收列表的控制器 JS file: function getFormDetails(){ document.forms[0].action=requestPath+"/admin/updateInterfaceParams.do"; document.forms[0].submit(); } JSP file: <form:form
JS file:
function getFormDetails(){
document.forms[0].action=requestPath+"/admin/updateInterfaceParams.do";
document.forms[0].submit();
}
JSP file:
<form:form method="post" cssStyle="float:left;">
<c:forEach var="list" items="${manageInterfaceList }" varStatus="stat">
<c:forEach var="entry" items="${list}">
<c:if test="${entry.key eq 'A'}">
<input type="hidden" name="interfaceList[${stat.index}].key"
value="${entry.key}" />
<span>Key:</span>
<input type="text" id="keyAjax" name="interfaceList[${stat.index}].value"
value="${entry.value}"/>
</c:if>
<br />
<c:if test="${entry.key eq 'B'}">
<input type="hidden" name="interfaceList[${stat.index}].key"
value="${entry.key}" />
<span>Password:</span>
<input type="text" id="password"
name="interfaceList[${stat.index}].value" value="${entry.value }"/>
<br />
</c:if>
</c:forEach>
</c:forEach>
<span><input type="button"
name="Submit" value="Submit" onclick="getFormDetails();"/></span>
</form:form>
Controller:
@RequestMapping(value = "/updateInterfaceParams.do")
public ModelAndView updateInterfaceParams(HttpServletRequest request,
@ModelAttribute ArrayList<HashMap<String,String>> manageInterfaceList) {
ModelMap modelMap = new ModelMap();
try {
System.out.println(manageInterfaceList.size());
} catch (Exception e) {
modelMap.addAttribute("errorMessage",e.getMessage());
}
return new ModelAndView("manageinterface", modelMap);
}
关于列表大小为何为0以及如何在控制器中获取列表元素的任何建议。由于表单未与表单支持对象关联,您需要指定表单元素的commandName属性,该属性将是包含列表的pojo