EL表达式和JSTL

JSTL学习资料:http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm 

EL表达式:Expression language (表达式语言)

EL作用:替代JSP页面中数据访问时的复杂编码

 

El表达式

语法: ${EL expression}       

          ${参数对象.属性名}      ${param.name} 

                     

 

1.通过变量名取值             

 按照:   Page>request>session>application 的作用域顺序依次查找,找到就返回,否则就返回null

  eg: ${usernmae}

 

2.获取对象的属性值     

  • 点操作符     eg: ${user.name}      
  • []操作符      eg: ${user["name]} 

3.获取集合元素  -List  -Map    注意:当键为Int类型时  不能使用点操作符来获取值

list tests=new ArrayList();                  

      ${tests[0]}                                                

      ${names[1]}

4.执行表达式

  • 关系操作符

           ==(或eq)       等于      eg:   ${23==5} 或  ${23eq5}       返回false

           !=(或ne)       不等于    eg:   ${23!=5} 或  ${23ne5}       返回true

           <(或lt)           小于       eg:   ${23<5} 或  ${23lt5}       返回false

           >(或gt)         大于       eg:   ${23>5} 或  ${23gt5}       返回true

           <=(或le)        小于等于       eg:   ${23<=5} 或  ${23le5}       返回false

          <=(或gt)         大于等于       eg:   ${23>=5} 或  ${23gt5}       返回true

  • 逻辑操作符

      &&(或and)             并且           

      ||(或or)                  或者

      !或not)                 非

  • empty操作符

   如果a为空的话 ${empty a} 返回true  ${not empty a} 返回为false

 

EL隐式对象

  • 作用域访问对象 

       PageScope

       requestScope

       sessionScope

       applicationScope

  • 参数访问对象

        param

        paramValues

  • JSP隐式对象

         pageContext

JSTL

 JSTL:(Jsp Standard Tag Library)  ---Jsp标准标签库

  1. 需要在项目中导入JSTLJar包(Java EE5.0 以上不需要导入)
  2. 在JSP页面添加taglib指令  

               <%@  taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

  1. 使用JSTL标签

 

JSTL标准标签库

核心标签库

通用标签

  • set   :设置指定范围(四大作用域)内的变量值  

                   将value值储存到范围为scope的变量variable中(var为变量名)

                    eg:<c:set  var="variable" value="value" scope="scope"/>    如果不设置scope则默认page

                    将value值设置到对象的属性中

                     eg:<c:set target="${name}"  property="property" value="value" />

 

                    

  • out  :计算表达式并将结果输出显示  

            指定默认值       eg:<c:out value="value" default="default"/>   没有找到value中指定的值就输出default的值

   不指定定默认值       eg:<c:out value="value"/>   

           转义特殊字符                <c:out  escapeXml="false"  value="<a href="">"/>  可以输出a标签  false不对特殊字符转义,

 

         

  • remove  :删除指定范围内的变量

     

        <c:remove var="variable" scope="scope" />     // var:指定删除的变量名  scope:指定域(范围)

 

条件标签

  • if

         

   <c:if   test="condition" var="variable"  scope="scope">

                             如果test为true则执行

   </c:if>

            test:接收true或false     var:储存返回的true或false    scope:指定把var存放在哪个作用域中

  • choose  : 实现 if  else if else 语句
<c:choose>

             <c:when test="condition1>

                           内容1

             </c:when>

             <c:when test="condition2"> 


                     内容2

             </c:when>

             <c:overwise test="condition2"> 


                     内容3

             </c:overwise>

</c:choose>

 

<c:choose>、<c:when>和<c:otherwise>标签的使用必须符合以下语法规则:

 

<c:when>和<c:otherwise>不能单独使用,它们必须位于<c:choose>父标签中。

 

在<c:choose>标签中可以包含一个或多个<c:when>标签。

 

在<c:choose>标签中可以不包含<c:otherwise>标签。

 

在<c:choose>标签中如果同时包含<c:when>和<c:otherwise>标签,那么<c:otherwise>必须位于<c:when>标签之后。

 

迭代标签

  • forEach  :实现对集合对象的遍历
           <c:forEach  items="collection"  var="varName”   begin="start" 

                         end="end"  step="stepSize"  varStatus="status">
              
              操作

            </c:forEach>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值