zoukankan      html  css  js  c++  java
  • EL

    EL

    jsp是把HTML好css分离,要把html和js分离,要把java脚本替换成标签,标签的好处是非Java人员都可以使用

    EL只能取值不能赋值,

    EL中有四大域(pageScope, requestScope, sessionScope, applicationScope),

    Servlet是三个域(request, session, application),

    jsp是九大内置对象(out, config(ServletConfig), page(当前JSP的真身类型), pageContext, exception, request, response, application, session), 

    EL是11大内置对象(param, paramValues, header, headValues, initParam, cookie, pageContext, pageScope, requestScope, sessionScope, applicationScope)主要还是四大域

    在EL中如果没有指定域的范围那么搜索的范围是从pageScope,requestScope, sessionScope, applicationScope

    EL的表达式的语法$和{ }

    EL提供了.和[ ]两种运算符来导航数据${sessionScope.user.sex} 等于${sessionScope.user["sex"]}

    这两个运算符也可以混合使用${sessionScope.shoppingCart[0].price}

    域相关的内置对象(重点):

    域内置对象一共有四个:

    pageScope:${pageScope.name}等同于pageContext.getAttribute("name");

    requestScope:${requestScope.name}等同于request.getAttribute("name");

    sessionScope:${sessionScope.name}等同于session.getAttribute("name");

    applicationScope:${applicationScope.name}等同于application.getAttribute("name"):

    在jsp页面中如果要用到对象,是要导包的<%page import="com.ghc.servlet"%>

    但是在JSP页面中用EL表达式就不用到导包 ${key},用的是key,就可以取的属性的值

    EL用到的运算符:+ - * / % == != < > <= >= && ! || empty

    ${empty ""}:输入true,判断集合,数据,字符串长度是否为0

    ${null} 不会输出,如果是null就不会数据,而是输出空串

    EL对JavaBean的操作,

    <%

    User  user = new User();

    user.setUsername(“张三”);

    user.setPassword("23234");

    pageContext.setAttribute("user", user);

    %>

    ${pageScope.user.name}

    ${pageScope.user.password}

    操作List

    <%

    User user = new User();

    user.setUsername("张三");

    user.setPassword("132");

    List list = new ArrayList();

    list.add(user);

    pageContext.setAttribute("list", list);

    %>

    ${pageScope.list[0].name}

    ${pageScope.list[0].password}

    操作Map

    <%

    User user = new User();

    user.setName("张三");

    user.setPassword("123");

    Map map = new HashMap();

    map.put("u1", user);

    pageContext.setAttribute("map", map);

    %>

    ${pageScope.map.u1.name}

    ${pageScope.map.u1.password}

    和你一起追求代码的提供给我们的快乐
  • 相关阅读:
    Open live Writer
    python两则99乘法表
    更改jupyter-notebook启动时的默认目录
    在内容中插入代码,返回进行编辑时,有无法跳出代码区的情况
    关于jupyter notebook密码设置
    nginx+zuul
    spring-cloud 服务优雅下线
    java.util.ConcurrentModificationException异常排查
    使用bitset实现毫秒级查询(二)
    使用bitset实现毫秒级查询
  • 原文地址:https://www.cnblogs.com/ghc666/p/7473818.html
Copyright © 2011-2022 走看看