深入理解java虚拟机 jvm高级与佳三
87.8元
包邮
(需用券)
去购买 >
SpringMVC在从后台往前台回传数据时,可以用传统的HttpServletRequest、HttpSession和ApplicationContext作用域对象进行传值,此外,也可使用SpringMVC自己提供的Model来进行值传递,具体实现如下:
HttpServletRequest@RequestMapping("testForRequest")
public String testForRequest(String uname,Integer pwd, HttpServletRequest request){
// 业务处理
System.out.println("testForRequest接收到的数据:uname:"+uname+",pwd:"+pwd);
request.setAttribute("str","我在测试request作用域");
return "forward:requestTest.jsp";
}
HttpSession@RequestMapping("testForSession")
public String testForSession(String uname, Integer pwd, HttpSession session){
// 业务处理
System.out.println("testForSession接收到的数据:uname:"+uname+",pwd:"+pwd);
session.setAttribute("str","我在测试session作用域");
return "redirect:sessionTest.jsp";
}
ApplicationContext
此方式注意,DispatcherServlet无法将ApplicationContext对象的实参向单元方法进行传递,故需要使用HttpServletRequest进行获取,如下:@RequestMapping("testForApplication")
public String testForApplication(String uname, Integer pwd, HttpServletRequest request){
// 业务处理
System.out.println("testForApplication接收到的数据:uname:"+uname+",pwd:"+pwd);
request.getServletContext().setAttribute("str","我在测试applicationcontext作用域");
return "redirect:applicationContextTest.jsp";
}
Model@RequestMapping("testForModel")
public String testForModel(String uname, Integer pwd,Model model){
// 业务处理
System.out.println("testForModel接收到的数据:uname:"+uname+",pwd:"+pwd);
// 响应回传
model.addAttribute("str","我在测试SpringMVC的Model传递数据");
// 转发:
// return "forward:requestTest.jsp";
// 重定向:
return "redirect:model.jsp";
}
如果返回的是redirect方式,则model会将参数拼成键=值对的方式拼接在链接末尾进行重定向,例如:
实用现代javascript模块化系列
68.08元
(需用券)
去购买 >