jsp_el表达式

参考: http://zhyx5017192.blog.163.com/blog/static/30925128201322251248952/
重新温习el表达式
1.el表达式隐含对象:param   pageContext  requestScope sessionScope pageScope  cookie   initParam
                               1)这些...Scope 分别取得request.setAttribute(...),session.setAttribute()值
                               2) pageContext本身就是JavaBean 只要是getXx() 就可用${pageContext.xx}取得,如在JSP中表示为:

<%=((HttpServletRequest)pageContext.getRequest()).getMethod() %>


用EL表达式表示为:

${pageContext.request.method}


                              3)cookie可以取得用户的Cookie设置值,如果在cookie中设置的Username属性,则可以使用                                                                   ${cookie.username}取得值
                              4)initParam取得web.xml中设置的ServletContext初始参数,也就是在<context-param>中设置的初始参数

${initParam.initCount} 相当于<%=servletContext.getInitParameter("initCount") %>


2.使用el访问属性
   1)访问简单属性
   在servlet端:request.setAttriute("username",username);  则在jsp可能过el表达式取得username值:${username}
   在servlet端:request.setAttribut("user",user);则在Jsp可通过el取得user的username值,前提是User.java类里提供了private String username;  public String getUsername(){...};
   el表达式:${user.username}  还可以写成${user[username]}
   2)访问数组    Map  简单属性用.  [] 都可以取得值

在Servlet端:

String [] names={"zhangsan","lisi","wangwu"};

request.setAttribut("nameArray",names);


el取得各个值

jsp端:

${nameArray[0]} ${nameArray[1]} ${nameArray[2]}


   3)访问Map集合

在Servlet端:

Map map=new HashMap();

map.put("user","zhangsan");

map.put("role","Admin");

request.setAttribut("login",map);


在JSP端:

${login[user]}取得值为zhangsan ${login[role]}取得值为Admin 也可使用。
${login.user} 建议使用【】

  4)访问List集合

在Servlet端:

List list=new ArrayList();

list.add("苹果");

list.add("梨");

request.setAttibut("fruits",list);

在JSP端:

${fruits[0]}取得苹果 ${fruits[1]}取得梨

你可能感兴趣的:(el表达式)