JSTL使用及EL运算符的使用

JSTL使用

JSTL标记库由以下标记组成:

  • core:核心标签,流程控制, 处理作用域变量, 变量的显示, 异常的处理, url的处理;
  • formatting:日期, 时间, 数字等的有关i18n的格式化处理;
  • xml:解析xml和通过xsl转换文档格式的处理;
  • sql:SQL数据库操作的处理。

比较常用的是coreformatting标签。xml标签用于特定场景的数据显示,sql标签用于敏捷开发(j2ee开发为了分工和关注分离,往往通过daojava代码中封装sql操作

必须引入的jar包为:jstl.jar  standard.jar

JSP中引入:

  • <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
  • <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
  • <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
  • <%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
  • <%@ taglib uri="/struts-tags" prefix="s" %>

 

Core

1.动作用于控制嵌套动作的处理,它只允许第一个测试表达式计算为true 的动作得到处理;如果所有动作的测试表达式都计算为false,则会处理一 个动作。标签没有属性,可以被认为是父标 签,将作为其子标签来使用

${product.salesPrice}On sale!

${product.price}

2.此动作接受属性表中所列的类型集合


的四种属性>


index: ${s.index}

count: ${s.count}

first: ${s.first}

last: ${s.last}

3. 标签可以根据某个分隔符分隔指定字符串

request.setAttribute("userPhone",phonenumber);
%>


${item}

4. 动作仅当所指定的表达式计算为true时才计算其体

5. :标签是一个最常用的标签,用于在 JSP 中显示数据。它的作用是用来替代通过JSP内 置对象out或者<%=%>标签来输出对象的值

您的用户名是:

6. 用于传递参数,用来为包含或重定向的页面传递参数

该示例将为重定向的“MyHtml.jsp”传递指定参数“userName=’RW’”

7. 标签用于删除存在于scope中的变量

8. 标签用于为变量或JavaBean中的变量属性赋值的工作

9. 主要用来产生一个URL

">Java爱好者

如果有 var属性时,则网址会被存到 varName中,而不会直接输出网址

Functions库(与EL语句一起使用)

1.fn:contains函数用来判断源字符串是否包含子字符串, 其返回结果为一个 boolean 类型的值

${fn:contains("ABC","a")}  ${fn: containsIgnoreCase("ABC", "a")}  //忽略大小写

2. fn:endsWith函数用来判断源字符串是否符合一连串的特定词尾。它与 fn:startsWith 函数相同

${fn:endsWith("ABC","bc")}

3. fn:escapeXml函数用于将所有特殊字符转化为字符实体码

${fn:escapeXml(param:info)}

4. fn:indexOf函数用于取得子字符串与源字符串匹配的开始位置

${fn:indexOf("ABCD","aBC")}

5. 长度函数 fn:length 解决了无法通过 EL 表达式“ ${collection.size} ”来取得集合大小的问题。

<%ArrayList arrayList1 = new ArrayList();

arrayList1.add("aa");

arrayList1.add("bb");

arrayList1.add("cc");

%>

<%request.getSession().setAttribute("arrayList1",arrayList1);%>

${fn:length(sessionScope.arrayList1)}

假设一个 ArrayList 类型的实例“ arrayList1 ”,并为其添加三个字符串对象,使用 fn:length 函数后就可以取得返回结果为“ 3 ”

6. fn:replace 函数允许为源字符串做替换的工作

${fn:replace("ABC","A","B")}

7. fn:split 函数用于将一组由分隔符分隔的字符串转换成字符串数组

${fn:split("A,B,C",",")}

8. fn:substring 函数用于截取字符串

${fn:substring("ABC","1","2")}

9. fn:toLowerCase 函数允许将源字符串中的字符全部转换成小写字符

${fn:toLowerCase("ABCD")}

10. fn:trim 函数将删除源字符串中结尾部分的“空格”以产生一个新的字符串

${fn:trim("ABC  ")}

 

至于fmt用的较少,只有用的多一点

标签用于格式化日期

 

EL运算符的运用


表达式语言(Expression Language)是一种简化的数据访问方式,使用EL可以方便的以标记格式访问JSP的隐含对象和JavaBean组件。它不是一种通用的程序语言,而只是数据访问语言

转载自:我能我行的CSDN博客 http://blog.csdn.net/zxq1406spys/article/details/1875623

关系运算符(6个)

!= 或 ne       不等于        ${ 5 != 5 } 或 ${ 5 ne 5 } false 
< 或lt         小于            ${ 3 < 5 }或 ${ 3 lt 5}      true 
> 或gt           大于           ${ 3 > 5 }或 ${ 3 gt 5}      false 
<= 或 le       小于等于      ${ 3 <= 5 }或 ${ 3 le 5 }  true 
>= 或ge          于等于      ${ 3 >= 5 }或 ${ 3 ge 5 }  false

= = 或 eq       等于          ${ 5 = = 5 } 或 ${ 5 eq 5 } true 

逻辑运算符(3个)

&& 或 and       交集        ${ A && B } 或 ${ A and B } true / false 
|| 或 or       并集        ${ A || B } 或 ${ A or B }true / false 
! 或 not       非          ${ !A } 或 ${ not A }      true / false

Empty运算符  ${ empty param.name }

条件运算符    ${ A? B : C} 当A 为true 时,执行B;而A 为false 时,则执行C

最后笔者写一个ELOperator.jsp 范例,将所有运算符实际操作一遍

 <%@ pagecontentType="text/html;charset=GB2312" %>

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

  

  

   CH6  – ELOperator.jsp

  

  

  

EL 的运算符

  

  

  

    

      

      

    

    

 

       

       

       

       

       

       

       

       

       

       

       

       

       

       

     

运算式 结果
14 + 3${14 + 3}
14 -3${14 - 3}
14 * 3${14 * 3}
14 / 3${14 / 3}
14 % 3${14 % 3}
14 == 3${14 ==3}
14 != 3${14 !=3}
14 < 3${14 <3}
14 > 3${14 >3}
14 <= 3${14 <=3}
14 >= 3${14 >=3}
true && false${true &&false}
true || false${true ||false}
! false${!false}
empty username${emptyusername}
empty password${emptypassword}

     

     

 可以参考文档:http://vdisk.weibo.com/s/hloWj

你可能感兴趣的:(JAVA)