我在UI中创建了一个ajax调用。通过ajax调用,我发送一个String变量作为请求参数。现在我想在同一个类中的另一个方法中访问此请求param变量。如何将我的请求param变量作为公共变量。
这是代码。
<script>
$(document).ready(function() {
$("#cDetails").change(function() {
var value1 = $('#cDetails:selected').text();
$.ajax({
type : 'POST',
url : 'envi',
data : {
cname : value1
},
success : function(result) {
}
});
});
});
</script>
这是我的控制器图层。
@RequestMapping(value = "/envi", method = RequestMethod.POST)
public @ResponseBody String getEnvironmentNames(@RequestParam String cname) throws SQLException {
System.out.println("cname"+cname);
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("environments", new Environments());
List<Environments> environmentnamesList= loginDelegate.getEnvironments(cname);
Gson gson = new Gson();
System.out.println("gson"+gson);
String jsonString = gson.toJson(environmentnamesList);
System.out.println("jsonString"+jsonString);
return jsonString;
}
在同样的文章中,我想访问这个cname varible。
@RequestMapping(value = "/retri", method = RequestMethod.GET)
public ModelAndView test(HttpServletRequest request, HttpServletResponse response,
@ModelAttribute("customer") Customer customer) throws Exception{
system.out.println("cname " + cname);
}
任何人都可以建议我。
答案 0 :(得分:0)
如果两个请求是由同一会话中的同一个客户端发出的,则可以将cname值添加到会话中。
getEnvironmentNames(@RequestParam String cname, HttpServletRequest rq){
...
rq.getSession().setAttribute("cname", cname);
...
}
然后在测试中
test(HttpServletRequest request, HttpServletResponse response,
@ModelAttribute("customer") Customer customer) throws Exception{
system.out.println("cname " + request.getSession().getAttribute("cname"));
}
如果不是这种情况,则需要将cname的值存储在像数据库这样的存储库中。
答案 1 :(得分:-1)
您可以在类中声明变量,并在第一次传递时将其设置为值。您可以在控制器中的任何方法中重复使用它。
private String var;
@RequestMapping(value = "/envi", method = RequestMethod.POST)
public @ResponseBody String getEnvironmentNames(@RequestParam String cname) throws SQLException {
System.out.println("cname"+cname);
var=cname;
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject("environments", new Environments());
List<Environments>
environmentnamesList=loginDelegate.getEnvironments(cname);
Gson gson = new Gson();
System.out.println("gson"+gson);
String jsonString = gson.toJson(environmentnamesList);
System.out.println("jsonString"+jsonString);
return jsonString;
}
在这里
@RequestMapping(value = "/retri", method = RequestMethod.GET)
public ModelAndView test(HttpServletRequest request, HttpServletResponse response,
@ModelAttribute("customer") Customer customer) throws Exception{
system.out.println("cname" + **var**);
}