如何将javascript变量传递给Spring MVC控制器
问题内容:
谁能告诉我如何在Spring MVC Controller中获取javascript变量值。
var countrySelection = "Country Selection List:\n\n";
for (var i = 0; i < frm.selectedCountryItems.length; i++)
if (frm.selectedCountryItems[i].checked){
countrySelection = countrySelection + frm.selectedCountryItems[i].value + "\n";
}
alert(countrySelection);
我想将值countrySelection传递给控制器
问题答案:
您需要将此变量作为参数从发布/获取请求传递到控制器,并在控制器中进行访问,例如:
@RequestMapping(...)
public String getCountySelected(@RequestParam(value = "UR_PARAM_NAME") String param){
... code goes here
}
编辑: 如果您不使用ajax,并且要在表单提交时发送额外的参数:
在带有@Transient
注释的表单域类中添加变量,以使spring不会在数据库表中查找匹配的元素。
例如
@Transient
private String countrySelection;
//Setter getter methods
然后在jsp中添加表单隐藏变量,例如:
<form:hidden path="countrySelection"/>
然后$("#countrySelection").value(countrySelection);
使用您的jquery 进行设置。
在控制器中,您可以使用对象getter方法访问此字符串。