后端print出来显示的value1先是正常数值,再变成了null是为什么?
@RequiresPermissions("msg:msgInner:view")
@RequestMapping(value = "form")
public String form(HttpServletRequest request, Model model) {
model.addAttribute("value1", request.getParameter("value1"));
System.out.println(model.addAttribute("value1", request.getParameter("value1")));
return "modules/msg/msgInnerForm";
}
前端是这样获取,控制台输出的是空白。
<script>
var data = '${value1}';
console.log(data);
script>
根据代码和截图,问题出在了以下这行代码中:
System.out.println(model.addAttribute("value1", request.getParameter("value1")));
这行代码实际上是将 "value1" 这个参数添加到了 Model 对象中,并返回了一个 Model 对象。因此,当您将其传递给 System.out.println 函数时,它会输出一个 Model 对象,而不是 "value1" 这个参数的值。
要解决这个问题,您应该这样编写代码:
String value1 = request.getParameter("value1");
model.addAttribute("value1", value1);
System.out.println("value1 = " + value1);
这样,"value1" 这个参数的值就被添加到了 Model 对象中,并通过 System.out.println 函数输出。同时,它也可以在前端通过 ${value1} 获取到了。