码迷,mamicode.com
首页 > Web开发 > 详细

EL与JSPL

时间:2019-10-05 12:15:56      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:结果   jsp页面   div   pre   核心   其他   each   异常   标签   

一、EL

  EL语法:

    EL表达式(Expression Language)

      ${EL表达式}    例:${name}

   EL操作符:

      "." : 获取对象的属性,例:${user.name}

      "[ ]" :1、 获取对象的属性,例:${user[name]}

         2、获取集合中的对象,例如:${list[0]}

  EL运算符:

      技术图片

 

 

   关系运算符:

      技术图片

 

 

 

   EL的功能:

    1、获取javaBean对象的属性

      例:${user.name}

    2、取得数组、list、map类型对象的元素

      例:${list[0]}

    3、使用各类运算符对原始数据进行简单的处理   

     例:
       request.setAttribute("num1",10);
       request.setAttribute("num2",5);
       ${num1/num2}
     结果为:2.0
       注:不能写成${num1}/${num2},运算符号需放在大括号里面

    4、屏蔽一些常见的异常

      例:${user.name}    即使user为空,也不会出现异常,但是什么信息都没显示

    5、能实现简单的自动类型转换

      例:${user}相当与 (User)request.getAttribute("news");

    

  EL访问作用域:

      request.setAttribute("user",user);
      有两种取出方式
        1、使用java代码
          <%User user = (User)request.getAttribute("user");%>
        2、使用EL表达式
          ${user}  或  ${requestScope.user}

      技术图片

 

 

 

二、JSTL(JavaServerPages Standard Tag Library)

      JSP标准标签库

      实现JSP页面中的逻辑控制

  JSTL使用步骤:

    1、下载jstl.jar和standard.jar包

      下载地址:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/

     2、将这两个包复制到WEB-INF/lib目录下

     3、在jsp页面中添加如下指令

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

     如图:

        技术图片

 

 

 

  JSTL标签分类

        技术图片

 

 

 

  核心标签库:

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

  国际化/格式化标签库

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

  

    <c:if>标签
              1. 语法格式:( [ ] 中属性可写可不写 )

                         <c:if  test="xxx"   [var="xxx"]   [scope="{page|request|session|application}"]  >

                                        执行体

                         </c:if>

               2. 标签属性讲解:

                        test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体

                        var属性:用于指定逻辑表达式中变量的名字

                        scope属性:用于指定var变量的作用范围,默认值是page。

               3.用法案例:         

          <c:if test="${!empty user}" >
          ${user.name}
          </c:if>

      

    <c:forEach>标签  
         两种语法格式:

                    1.迭代集合对象:

                                  <c:forEach items="xxx"   [var="xxx"]   [varStatus="xxx"]   [begin="xxx"]   [end="xxx"]   [step="xxx"]>
                                             循环体.....
                                  </c:forEach>

           例:

<%String[] strs = new String[15];
for (int i = 0; i < strs.length; i++) {
strs[i]="吖"+i;
}
request.setAttribute("s",strs);
%>
<c:forEach items="${s}" var="str" varStatus="vs">
  ${str}&nbsp;${vs.count}<br/>
</c:forEach>

                     2.迭代数组:

                                   <c:forEach   begin="xxx"  end="xxx"   [var="xxx"]   [varStatus="xxx"]   [step="xxx"]>
                                              循环体....
                                   </c:forEach>
           例:                   

<%String[] strs = new String[15];
for (int i = 0; i < strs.length; i++) {
strs[i]="吖"+i;
}
request.setAttribute("s",strs);
%>
<c:forEach begin="0" end="15" var="i" varStatus="index" step="1">
${s[i]}<br/>
</c:forEach>

    标签属性讲解:

                    1.items属性用于指定将要迭代的对象( 数组或集合 )

                    2.var属性用于指  将当前迭代到的元素保存到page域中的名称(可以通过${xxx}获得对象)

                    3.varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称

                             varStatus属性可以获取以下信息:

                                       count:表示元素在集合中的序号,从1开始

                                       index:表示当前元素在集合中的索引,从0开始

                                       first:表示当前是否为集合中的第一个元素

                                       last:表示当前元素是否为集合中最后一个元素         

                     4.begin属性用于指定从集合中的第几个元素开始迭代,begin的索引值从0开始              

                     5.step属性用于指定迭代的步长,即迭代的增长因子(for循环的自增或自减值)

    其他标签:

        技术图片

 

 

 

 

        

EL与JSPL

标签:结果   jsp页面   div   pre   核心   其他   each   异常   标签   

原文地址:https://www.cnblogs.com/zeng1997/p/11624251.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!