传统方式获取作用域数据:
缺点一:导入包
缺点二:需要强转
缺点三:获取数据的代码过于麻烦
1.普通字符串
req.setAttribute("str","今天天气好");
2.对象类型
user u=new user(1,"柳岩","拍电影");
req.setAttribute("user",u);
3.List集合
List<String>list=new ArrayList<String>();
list.add("快乐");
list.add("痛苦");
list.add("悲哀");
req.setAttribute("list",list);
4.List存储对象
List<User>list2=new ArrayList<>();
user u2=new User(2,"古力娜扎","拍电影");
list2.add(u2);
req.setAttribute("list2",list2);
5.Map集合
Map<String,String>map=new HashMap<String,String>();
map.put("开心");
map.put("痛看");
map.put("烦呐");
req.setAttribute("map",map);
6.Map存储对象
Map<String,User>map2=new HashMap<>();
map2.put("a1",new User(3,"地理","拍电影",new Address(湖北省,武汉市,鄂州市)));
req.setAttribute("map2",map2);
页面:
1.<%=request.getparameter("uname")%>
2.<%=request.getAttribute("str")%>
3.<%=((User)request.getAttribute("user")).getAdd().gettown()%>
4.<%=((ArrayList)request.getAttribute("list")).get(2)%>
5.<%= ((User)(((ArrayList)(request.getAttribute("str")).get(0))).getAddr().getpre()%>
6.<%=((HashMap)request.getAttribute("map")).get("c")%>
7.<%=((User)(((HashMap)request.getAttribute("map2")).get("a1"))).getAddr().getCity()%>
使用EL表达式获取作用域对象数据
1.${param.uname}
2.${str}
3.${user.addr.town}
4.${list[2]}
5.${list2[0].addr.pre}
6.${map.c}
7.${map2.a1.addr.city}