zoukankan      html  css  js  c++  java
  • springmvc 页面传值的方法,有5种。

    springmvc 传值,有5种方法,(这篇文章为转载),

    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());
      }
    
    }
  • 相关阅读:
    lua中的冒号和点
    NuGet使用简要说明
    C#浅谈类实体与DataTable执行效率
    win8 使用技巧
    Bitnami Redmine 中文附件名 报错修复
    Markdown 测试
    几种常用网页返回顶部代码
    文字超出隐藏并显示省略号
    手机正则写法
    安卓内存管理相关关键字
  • 原文地址:https://www.cnblogs.com/sdgtxuyong/p/12470271.html
Copyright © 2011-2022 走看看