如何将javascript变量传递给Spring mvc控制器

时间:2013-06-19 12:35:51

标签: java spring 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传递给控制器​​

1 个答案:

答案 0 :(得分:4)

您需要将此变量作为参数从post / get请求传递给控制器​​,并在控制器中访问它,如:

@RequestMapping(...)
public String getCountySelected(@RequestParam(value = "UR_PARAM_NAME") String param){
   ... code goes here
}

修改 如果您没有使用ajax,并且希望在表单提交时发送额外的参数:

使用@Transient注释在表单域类中添加变量,以便spring不会在数据库表中查找匹配元素。

e.g。

@Transient
private String countrySelection;
//Setter getter methods

然后在jsp中添加表单隐藏变量,如:

<form:hidden path="countrySelection"/>

然后使用你的jquery设置$("#countrySelection").value(countrySelection);

在控制器中,您可以使用对象getter方法访问此字符串。