@RequestAttribute 注解


@RequestAttribute 注解

@RequestAttribute

該注解可以將request中的值直接賦值給方法中的參數

controller層

package com.xiang.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;

/**
 * Created by IntelliJ IDEA.
 * User: xiang
 * Date: 2021/10/13 23:54
 */
@Controller
public class RequestAttributeController {
    /**
     * HttpServletRequest
     * @param request
     * @return
     */
    @RequestMapping("/fo1")
    public String fo1(HttpServletRequest request) {
//       在 request 中存儲數據
        request.setAttribute("id", 001);
        request.setAttribute("name", "xiang");
        request.setAttribute("password", "***");
        request.setAttribute("age", 18);
        request.setAttribute("gender", "男");
//        轉發到另一個 controller 中
        return "forward:/fo2";
    }

    /**
     * @param request
     * @param id
     * @param name
     * @param password
     * @param age
     * @param gender
     * @return
     * @RequestAttribute("a") 該注解可以將request中的值直接賦值給方法中的參數
     */
    @ResponseBody
    @RequestMapping("/fo2")
    public Object fo2(HttpServletRequest request,
                      @RequestAttribute("id") Integer id,
                      @RequestAttribute("name") String name,
                      @RequestAttribute("password") String password,
                      @RequestAttribute("age") Integer age,
                      @RequestAttribute("gender") String gender) {
        HashMap<Object, Object> map = new HashMap<>();
//        從 request 中獲取數據
        Object id1 = request.getAttribute("id");
        Object name1 = request.getAttribute("name");
        Object password1 = request.getAttribute("password");
        Object age1 = request.getAttribute("age");
        Object gender1 = request.getAttribute("gender");

        ArrayList<Object> list = new ArrayList<>();
        list.add(id1);
        list.add(name1);
        list.add(password1);
        list.add(age1);
        list.add(gender1);
//        return list;
//        在 map 中添加數據
        map.put("id", 001);
        map.put("name", "xiangxiang");
        map.put("password", "******");
        map.put("age", 20);
        map.put("gender", "女");

        System.out.println(list);
        System.out.println(map);
//        return map;

        ArrayList<Object> arrayList = new ArrayList<>();
        arrayList.add(list);
        arrayList.add(map);
        return arrayList;
    }
}

運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM