• EL:Express Language,表达式语言


    01——EL
    EL:Express Language,表达式语言
    主要作用,用来替代jsp文件中的一部分java代码
    request.getAttribute();
    session.getAttribute();

    语法格式:
    》以$开头,后面是{}
    》${msg} 可以替代 request.getAttribute(msg);
    》EL的导航符号
    圆点 或者 []
    ${student.sname} === ${student['sname']} ------获取学生对象的姓名属性

    语法应用:
    EL用来替代获取后台数据的代码
    我们在servlet中通过setAttribute存放到request,session,application等读写的内容
    在前台页面我们使用el表达式获取
    ${sessionScope.uname} 获取存在在session对象中的用户名信息
    用来获取四个范围对象中存储的数据
    page equestsessionapplication
    EL默认会一次查找这四个对象
    一般需要给EL指定查找范围
    ${pageScope.msg}
    ${requestScope.msg}
    ${sessionScope.msg}
    ${applicationScope.msg}
    EL的优势:
    使用EL表达式无需进行强制类型转换
    自带非空验证,如果获取的对象为null,那么页面中将显示空白

    EL的用例一:
    <%
    Map map = new HashMap<>();
    map.put("one","张三");
    map.put("two","李四");

    request.setAttribute("map",map);

    //往page对象中存储数据
    pageContext.setAttribute("name","测试");
    %>

    <%--获取map中的数据属性,直接map.key--%>
    map集合中第一个元素是:${requestScope.map.one}<br>
    map集合中第二个元素是:${map.two}<br>

    page对象中的用户名是:${name}

    EL的用例二:

    可以把注册信息提交到jsp中,在jsp中利用EL获取请求信息
    -------注册页面--------
    <div align="center">
    <form action="doReg.jsp" method="post">

    用户名:<input type="text" name="uname"> <br>
    密码:<input type="text" name="pwd"> <br>
    爱好:<input type="checkbox" name="hobby" value="读书">读书
    <input type="checkbox" name="hobby" value="游戏">游戏
    <input type="checkbox" name="hobby" value="编程">编程
    <br>
    <input type="submit" value="注册">
    </form>
    </div>
    -------doReg.jsp-----------
    <h3>注册信息</h3>
    <%
    request.setCharacterEncoding("utf-8");
    %>

    用户名是:${param.uname}<br>
    密码是:${param.pwd}<br>
    爱好:${paramValues.hobby[0]},${paramValues.hobby[1]},${paramValues.hobby[2]}

    EL表达式的运算符(出了大括号,就是html的元素了)
    1.判断获取的对象是否为空:
    <c:if test='${empty msg}'></c:if> ========== if(msg == null)
    2.非空判断:
    <c:if test='${not empty msg}'></c:if> ========== if(msg != null)
    3.与操作:
    ${not empty msg and msg != ""}
    4.或操作
    ${not empty msg or msg != ""}
    5.非操作
    not ${not msg == ""}
    6.等于操作
    ${stu.ssex == "男"}
    7.不等于
    ${stu.ssex != "男"}
    8.运算符
    ${index +1}
    9.关于EL表达式的所有判断或运算,都要在{}中实现,因为出了大括号就是html的静态文本了

     
  • 相关阅读:
    Golang 用go-sql-driver 调用MySQL存储过程时的问题排查
    mysqlbinlog 查看binlog时报错unknown variable 'default-character-set=utf8'
    HBase Go客户端Row构造注意事项
    MySQL JOIN操作报错问题小解
    MySQL主从同步的一个小问题解决
    PHP 多个mysql连接的问题
    记一起动态库加载错误问题排查过程
    DNS缓存
    C输出大于127的ACSII字符
    Mint17 一些安装备忘
  • 原文地址:https://www.cnblogs.com/longmo666/p/13298225.html
Copyright © 2020-2023  润新知