参数传递

Exisi 2022-06-28 14:47:32
Categories: Tags:

 

 

 

ModelAndView 视图传参

 

示例

@Controller

public class MainController{

 

    @RequestMapping(value="login")

    public ModelAndView login(String name,String age,String adress){

        ModelAndView mav = new ModelAndView();

        mav.setViewName("welcome"); //返回的文件名

        

        mav.addObject("name", name);

mav.addObject("age", age);

mav.addObject("adress", adress);

 

        //List

        List<String> list = new ArrayList<String>();

        list.add(name);

        list.add(age);

        list.add(adress);

        mav.addObject("bookList", list);

        

        //Map

        Map<String,String> map = new HashMap<String,String>();

        map.put("name", name);

        map.put("age", age);

        map.put("adress",  adress);

        mav.addObject("map",map);

        

        return mav;

    }

 

<body>

   <!-- 输出普通字符 -->

   ${name} <br/>

   ${age} <br/>

   ${adress} <br/>

   <!-- 输出List -->

   <p>书籍列表</p>

   <c:forEach items="${bookList}" var="node">

        <c:out value="${node}"></c:out>

   </c:forEach>

   <br/>

   <br/>

   

   <!-- 输出Map -->

   <c:forEach items="${map}" var="node">

        姓名:<c:out value="${node.key}"></c:out>

        住址:<c:out value="${node.value}"></c:out>

        <br/>

   </c:forEach>

</body>

 

 

 

 

HttpServletRequest 作用域传参

示例

@Controller

public class UserController {

    @RequestMapping("/login")

    public String login(HttpServletRequest request, String name) {

        request.setAttribute(name);

        return "home";

    }

}

 

 

 

MapModelModelMap 绑定数据

 

 

 

Model方法

说明

addAttribute(key,value)

绑定参数,key-value形式

addAttribute(Object var1)

绑定参数对象

addAllAttributes(Collection<?> var1)

绑定集合参数

addAllAttributes(Map<String, ?> var1)

绑定Map对象参数

mergeAttributes(Map<String, ?> var1)

合并Map对象参数

containsAttribute(String var1)

是否包含参数

getAttribute(String var1)

根据参数名获取绑定参数

asMap()

返回参数的Map集合

 

ModelMap方法

说明

addAttribute(key,value)

绑定参数,key-value形式

addAttribute(Object var1)

绑定参数对象

addAllAttributes(Collection<?> var1)

绑定集合参数

addAllAttributes(Map<String, ?> var1)

绑定Map对象参数

mergeAttributes(Map<String, ?> var1)

合并Map对象参数

containsAttribute(String var1)

是否包含参数

 

示例

@Controller

public class UserController {

    @RequestMapping("/login")

    public String login(String name, Model model) {

        

map.put("names", Arrays.asList("caoyc", "zhh", "cjx"));

 

model.addAttribute("name", name);

 

modelMap.addAttribute("name", name);

modelMap.put("name", name);

 

          return "home";

    }

}