是否可以动态设置Spring MVC portlet:actionURL portlet:param using javascript?我尝试了下面的代码,但id值总是作为null传递给控制器。我已验证设置的portlet:手动PARAM正确传递值:Spring MVC - 用Javascript设置actionURL参数
<portlet:param name="id" value="2" />
我也曾在JavaScript验证值被设置正确,并且不为空。
(注:我已经从原来的代码改变变量名等,以简化并混淆它,因为它是我的雇主的代码)
JSP:
<portlet:actionURL var="modifyURL">
<portlet:param name="do" value="modify" />
<portlet:param name="id" value="${model.id}" />
</portlet:actionURL>
...
<form:form action="${modifyURL}" id="modifyForm" modelAttribute="model">
<form:hidden path="id" id="id" />
</form:form>
使用Javascript调用时更新URL点击:
function update() {
document.forms[0]["id"].value = selectedId;
document.forms[0].submit();
}
控制器:
@RequestMapping(params = {"do=modify"})
public void modify(@ModelAttribute("model") Model model,
@RequestParam(value = "id", required=true) Long id,
ActionRequest request, ActionResponse response,
SessionStatus sessionStatus, ModelMap modelMap) {
....