获取request中取得前端传递过来的数据

博客介绍了两种获取前端传递数据的请求方式。一是Request Payload请求方式,传递的为JSON数据;二是FormData请求方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种:request payload请求方式 (传递的为json数据)

/**
      * @author: tianyong
      * @time: 2019/7/9 11:10
      * @description:POST请求参数request转换为Map<Stirng,Object>
      */
    public static Map<String,Object> getPostRequestParams(HttpServletRequest request){
        StringBuffer json = new StringBuffer();
        String line = null;
        try {
            BufferedReader reader = request.getReader();
            while((line = reader.readLine()) != null) {
                json.append(line);
            }
        }
        catch(Exception e) {
            loggers.error("POST请求参数转换错误!",e);
        }
        return str2Map(json.toString());
    }

第二种:formdata请求方式

/**
      * @author: tianyong
      * @time: 2019/5/31 17:14
      * @description:请求参数request转换为Map<Stirng,Object>
      */
    public static Map<String,Object> getRequestParams(HttpServletRequest request){
        //参数定义
        String paraName = null;
        Map<String, Object> parameters = new HashMap<>();
        //获取请求参数并转换
        Enumeration<String> enu = request.getParameterNames();
        while (enu.hasMoreElements()) {
            paraName = enu.nextElement();
            parameters.put(paraName, request.getParameter(paraName));
        }
        return parameters;
    }

 

### 向Thymeleaf模板传递数据 在Spring MVC中,通过控制器方法中的`Model`对象可以向Thymeleaf模板传递数据。当定义一个处理HTTP请求的方法时,在参数列表里加入`Model`类型的参数即可[^1]。 下面是一个具体的例子来展示如何实现这一点: ```java import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HelloController { @GetMapping("/greet") public String greet(Model model) { // 添加属性到模型中 model.addAttribute("message", "Hello, welcome to our website!"); // 返回视图名称 return "welcome"; } } ``` 在这个案例中,`model.addAttribute()`用于把名为`message`的数据项添加至模型内,其设定为一条欢迎消息字符串。随后返回逻辑视图名`welcome`,这通常对应于位于资源文件夹下的`welcome.html` Thymeleaf模板文件[^2]。 对于更复杂的情况,比如从数据获取订单详情并显示给用户,则可以通过如下方式操作: ```java @RequestMapping(value="/orders/{id}", method=RequestMethod.GET) public String showOrder(@PathVariable("id") Long id, Model model) { Order order = orderRepository.findOrderById(id); if (order == null){ throw new OrderNotFoundException(id); } // 将找到的订单信息放入模型中 model.addAttribute("order", order); // 跳转到指定页面渲染该订单的信息 return "orderDetail"; } ``` 这里展示了如何利用`@PathVariable`注解提取URL路径变量,并将其作为查询条件调用服务层接口取得实体类实例;之后再把这个实体对象存入`Model`以便前端访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值