EL表达式和JSTL表达式

一、EL表达式

EL表达式提供了在JSP中简化表达式的方法,基于可用的命名空间(PageContext属性)、嵌套属性和对集合、操作符(算术型、关系型和逻辑型)的访问符、映射到Java类中静态方法的可扩展函数以及一组隐式对象。

1 EL特点和使用简介

格式:${…}

例如:EL表达式${sessionScope.user.sex} 对应下面的JSP代码

       <%User user = (User)session.getAttribute(“user”);

              Stringsex = user.getSex();%>

EL提供.和[]两种运算符来存取 数据,[]可以访问集合或数组的元素、Bean的属性。(前提是属性要有getXXX和setXXX方法)

例如:${sessionScope.user.sex}

==

${sessionScope.user[“sex”]}

2 EL运算符

       ==或eq         /      !=或ne   

       <或lt             /      >或gt

       <=或le          /      >=或ge

       ${empty A = param.name}  //用于判断值是否为空,A为null/不存在/空时,返回true,否则返回false

判断是否相等:${param.password1== param.password2}

3获取表单数据

       我们一般取得用户请求参数:

       Request.getParameter(String name)          //获得单个数值

       Request.getParameterValue(String name)          //获得多个同名数值,如CheckBox

       在EL中则

       ${param.name}             //获得单个数值

       ${paramValues.name}    //获得多个同名数值

       ${paramValues.hobbies[0]}   //获得多个同名数值中的第N个

4 EL的隐含对象

       JSP对象         EL隐含对象            EL表达式               JSP

       parameter      param                   ${param.name}                    <%request.getParameter(“user”)%>

       page              pageScope

       request          requestScope        ${requestScope.user}           <%request.getAttribute(“user”)%>

       session          sessionScope

       application     applicationScope

       若不写范围:${username},则依序查找page/request/session/application,有则返回值,无则返回null

 

二、JSTL

1 标签库

核心标签库

通用核心:

条件控制:

循环控制:

URL相关:

格式标签库

数字日期:

SQL标签库

XML标签库

函数标签库

2 一般用途的标签

       :用于计算一个表达式并将结果输出

       :用于设置范围变量的值或者JavaBean对象的属性,

             

       :相对于,作用是移除范围变量

             

       :用于捕获其中操作所报出的异常

3 条件标签

       :用于实现Java中的if语句功能

              第一次访问

       //:实现条件执行

             

                     11

                     222

             

4 循环控制标签

       :将集合中的成员遍历一遍

             

       :用来浏览字符串中所有的成员(String str = “太阳、星星 、月亮;地球|天空”)

             

                    

             

5 URL相关标签

      

      

      

 

你可能感兴趣的:(Web开发(前端))