SpringMVC学习笔记(获取参数,传递参数——关于前后端传参交互的总结、from表单、Ajax数据提交)
在SpringMVC中,获取参数和传递参数可以通过多种方式实现,以下是一些常用的方法:
- 通过
@RequestParam
获取请求参数:
@RequestMapping("/getParam")
public String getParam(@RequestParam("paramName") String paramValue) {
// 使用paramValue
return "result";
}
- 通过
@PathVariable
获取路径中的参数:
@RequestMapping("/getPath/{paramName}")
public String getPath(@PathVariable("paramName") String paramValue) {
// 使用paramValue
return "result";
}
- 通过
@ModelAttribute
传递参数到视图:
@ModelAttribute
public User addUser(@RequestParam(name = "id", required = false) Integer id,
@RequestParam(name = "name") String name,
@RequestParam(name = "email") String email) {
return new User(id, name, email);
}
- 使用
@RequestBody
接收JSON格式的数据:
@RequestMapping(value = "/json", method = RequestMethod.POST)
public String postJson(@RequestBody User user) {
// 使用user对象
return "result";
}
- 使用
Model
或ModelAndView
传递数据到视图:
@RequestMapping("/setModel")
public String setModel(Model model) {
model.addAttribute("attributeName", "attributeValue");
return "viewName";
}
- 使用
HttpServletRequest
获取请求参数:
@RequestMapping("/getRequest")
public String getRequest(HttpServletRequest request) {
String paramValue = request.getParameter("paramName");
// 使用paramValue
return "result";
}
- 使用
@SessionAttributes
管理会话级别的属性:
@Controller
@SessionAttributes("sessionAttribute")
public class MyController {
@ModelAttribute("sessionAttribute")
public String sessionAttribute() {
return "sessionValue";
}
}
- 使用
@RequestHeader
获取请求头信息:
@RequestMapping("/getHeader")
public String getHeader(@RequestHeader("User-Agent") String userAgent) {
// 使用userAgent
return "result";
}
- 使用
@CookieValue
获取cookie值:
@RequestMapping("/getCookie")
public String getCookie(@CookieValue("JSESSIONID") String sessionId) {
// 使用sessionId
return "result";
}
- 使用
RedirectAttributes
在重定向时传递参数:
@RequestMapping("/redirect")
public String redirect(RedirectAttributes redirectAttributes) {
redirectAttributes.addAttribute("paramName", "paramValue");
return "redirect:/getRedirect";
}
@RequestMapping("/getRedirect")
public String getRedirect(@RequestParam("paramName") String paramValue) {
// 使用paramValue
return "resu
评论已关闭