首页 课程 师资 教程 报名

5种SpringMVC传值的方法

  • 2021-09-09 11:45:25
  • 994次 星辉

1.request获取值:

@RequestMapping("/request.action")
public String request(HttpServletRequest request){
    String value= (String) request.getAttribute("value");
    String val=request.getParameter("value");
    return "index";
}

request的getAttribute和getParameter有什么区别呢?

getAttribute:取得是setAttribute设定的值,session范围的值,可以设置为object,对象,字符串;getAttribute获取的值是web容器内部的,是具有转发关系的web组件之间共享的值;用于服务端重定向

getParameter:取得是从web的form表单的post/get,或者url传过来的值,只能是String字符串;getParameter获取的值是web端传到服务端的,是获取http提交过来的数据;用于客户端重定向。

2.使用路径变量@PathVariable绑定页面url路径的参数,用于进行页面跳转

@Controller
public class BaseController {
    @RequestMapping("/goUrl/{folder}/{file}")
    public String goUrl(@PathVariable String folder,@PathVariable String file){
        return  folder+"/"+file;
    }
}

3.通过@RequestParam绑定页面传来的参数,效果跟String id=request.getParameter(“id”)是一样的:

@RequestMapping("/test.action")
public void test(@RequestParam("id") String id){
    System.out.println("id:"+id);    
}

4.自动注入,实体类属性有setter,getter方法,前端form表单的name对应实体的属性名,后台直接可以通过该实体类自动把参数绑定到类的属性。

比如:实体类

public class Content {   
   private String content;
public String getContent() {
    return content;
}
public void setContent(String content) {
    this.content = content;
} 
}

form表单:

<form action="<%=request.getContextPath()%>/content" method="post" enctype="multipart/form-data">
    商品描述:<textarea  name="content" rows="2" cols="20"></textarea><br>  
    <input type="submit" value="提交"/>
</form>

后台接收数据:

@RequestMapping("/content")
public  void contetn(Content content){
    System.out.println("content:"+content.getContent());
}

5.使用RequestBody接受前端传来的json数组,对象。ResponseBody把数据返回

@RequestMapping("/test.action")
@ResponseBody
public void test(@RequestBody List<Content> list){
  for (Content content:list){
      System.out.println(content.toString());
  }
}

以上就是星辉小编介绍的"5种SpringMVC传值的方法",希望对大家有帮助,想了解更多可查看SpringMVC教程。星辉星辉在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交