java相关:SpringMvc接收参数方法总结(必看篇)
发布于 2020-6-26|
复制链接
下面小妖就为大家带来一篇SpringMvc接收参数方法总结(必看篇)。小妖觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小妖过来看看吧
接收参数的方式:1.HttpServletRequest方式接收
```java
public ModelAndView test1(HttpServletRequest req){
String userName = req.getParameter("userName");
String password = req.getParameter("password");
System.out.println(userName);
System.out.println(password);
return new ModelAndView("jsp/hello");
}
```
2.@RequestParam方式
```java
public ModelAndView test2(String userName,
@RequestParam("password") String pwd){
System.out.println(userName+","+pwd);
return new ModelAndView("jsp/hello");
}
```
3.对象的方式接收
```java
public ModelAndView test3(User user){
System.out.println(user);
return new ModelAndView("jsp/hello");
}
```
4.
```java
/**
* 使用ModelAndView传出参数 内部 HttpServletRequest的Attribute传递 到jsp页面
* ModelAndView(String viewName,Map data)data是处理结果
*/
@RequestMapping("action")
public ModelAndView test4(User user){
Map data = new HashMap();
data.put("user", user);
return new ModelAndView("jsp/hello",data);
}
```
5. Session的方式
```java
/**
* session存储 可以使用HttpServletRequest的getSession方法访问
*/
@RequestMapping("action")
public ModelAndView test7(HttpServletRequest req){
HttpSession session = req.getSession();
session.setAttribute("salary", 6000.0);
return new ModelAndView("jsp/hello");
}
```
6.重定向:
```java
@RequestMapping("/updateitem")
//spirngMvc可以直接接收pojo类型:要求页面上input框的name属性名称必须等于pojo的属性名称
public ModelAndView updateitem(Items items){
itemsService.updateitems(items);
//不可以加斜杠 解析不了 itemList.action
return new ModelAndView(new RedirectView("itemList.action"));
}
```
7.重定向
```java
@RequestMapping("/updateitem")
//spirngMvc可以直接接收pojo类型:要求页面上input框的name属性名称必须等于pojo的属性名称
public String updateitem(Items items){
itemsService.updateitems(items);
//重定向到action 可以加斜杠 redirect:/itemList.action 解析的了
return "redirect:itemList.action";
}
```
使用Model和ModelMap的效果一样,如果直接使用Model,springmvc会实例化ModelMap。如果使用Model则可以不使用ModelAndView对象,Model对象可以向页面传递数据,View对象则可以使用String返回值替代。不管是Model还是ModelAndView,其本质都是使用Request对象向jsp传递数据。