EL表达式是jsp中最常用的表达式之一。EL表达式以${开头,并以}结束,例如${1+1}。el表达式可以返回任意类型的值,如果el表达式的结果是一个带属性的对象,则可以利用[]或者.运算来访问该属性,如:

  ${object.["propertyName"]}或者是${object.propertyName}

  EL表达式中有一些常用的运算符(+ -  * %等),和逻辑运算符(&& ||等 )规则等同于java。

  JSTL即JSP标准标签库是一个定制标签库的集合,用来解决像遍历Map或集合,条件测试,xml处理,甚至数据库访问和数据操作等常见的问题。

  使用jstl标签库必须进入jstl相关的jar文件,并且jsp页面需要有使用的相关声明<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>。(ps:本博客jstl标签库版本为1.2)

  JSTL1.2中的标签可以分成5类区域。

区域 子函数 URL 前缀
核心 变量支持 http://java.sun.com/jsp/jstl/core c
流控制
URL管理
其他
xml 核心 http://java.sun.com/jsp/jstl/xml x
流控制
转换
国际化 语言区域 http://java.sun.com/jsp/jstl/fmt fmt
消息格式化
数字和日期格式化
数据库 SQL http://java.sun.com/jsp/jstl/sql sql
函数 集合长度 http://java.sun.com/jsp/jstl/functions fn
字符串操作

  Core库

  out标签在运算表达式时,是将结果输出到当前的JspWriter。<c:out value="value"  [escapeXml="{true|false}"] [default="defaultValue"] /> 或者是

  <c:out value="value"  [escapeXml="{true|false}"] >default value </c:out>

  set用于创建一个有界变量

  <c:set target="${adress}" property="city">beijing</c:set>将字符串“beijing”赋予有界对象address的city属性。

  remove标签用于删除有界变量,如:<c:remove var="job" scope="page" />删除了页面范围的变量job。

  if标签是对某一条件进行判断测试,

  <c:if test="testCondition">xxxxx</c:if>其中testCondition为boolean类型。语法类似于java中的if(xx){xx}

  choose,when,otherwise标签 choose和when标签与java中的switch case标签类似

  <c:choose>

    <c:when test="${1==1}">xxxx</c:when>

    <c:when test="${1==2}">xxxx</c:when>

    <c:otherwise>xxxx</c:otherwise>

  </c:choose>

  forEach标签会遍历指定的对象集合。

  <c:forEach var="x" begin="1" end="5">

    <c:out value="${x}" />

</c:forEach>

  <c:forEach var="phone" items="${address.phone}" varStatus="status">

    ${phone}

  </c:forEach>

  status表示当前遍历的次数。

  (ps:forEach标签可以相互嵌套使用,需要根据实际场景灵活使用。)

  格式化行为

   JSTL提供了格式化和解析数字与日期的标签,它们是formatNumber,formatDate,timeZone,setTimeZone,parseNumber,parseDate

   formatNumber用于格式化数字,

   formatDate用于格式日期

  函数

    contains函数,用于测试一个字符串是否包含制定的字符串,<c:if test="${fn:contians("aaaaa","aa")}"></c:if>,

    endsWith函数,用于测试是否以某个字符串结尾,

    indexOf返回指定字符串第一次出现的索引,

    join将指定字符串以指定的符号连接,

    length返回字符串长度,

    replace替换字符串,

    split切割字符串,

    substring截取字符串,

    ......

    (ps:更多的函数或标签使用请查看相关的jstl的使用api)

jsp/servlet学习五之jsp表达式语言初窥的更多相关文章

  1. jsp/servlet学习四之jsp初窥

    jsp页面本质上是一个servlet,jsp页面是一个以.jsp结尾的文本文件. jsp自带的API包含4个包: javax.servlet.jsp.包含用于servlet/jsp容器将jsp页面翻译 ...

  2. JSP&Servlet学习手册

    JSP&Servlet学习手册 沙琪玛 书 目录 JSP 指令... 3 书写方式... 3 指令列表... 3 JSP 内置对象... 3 内置对象特点... 3 常用内置对象... 3 o ...

  3. jsp&servlet学习笔记

    1.路径引用问题 一个css.jsp.html.或者javascript文件从从一个工程复制到另一工程,如果引用的时候使用的时相对路径,看似没有错误,但是却一直引用不进来,这时候要使用绝对路径,这样才 ...

  4. JSP&Servlet学习笔记----第1/2章

    HTML(HyperText Markup Language):超文本标记语言 HTTP(HyperText Transfer Protocol):超文本传输协议 URL(Uniform Resour ...

  5. JSP&Servlet学习笔记----第3章

    Web容器是JSP/Servlet唯一认识的HTTP服务器. HTTP是基于请求/响应的无状态通信协议. 流程: 1.请求来到HTTP服务器 2.HTTP服务器将请求转交给Web容器 3.Web容器创 ...

  6. jsp/servlet学习一之servlet初窥

    Java Servlet技术简称Servlet技术,是java开发web应用的底层技术.Servlet是一个java程序,一个servlet应用有一个或多个Servlet程序.jsp页面会被转换和编译 ...

  7. 【JSP&Servlet学习笔记】5.Servlet进阶AIP、过滤器与监听器

    Servlet接口上,与生命周期及请求服务相关的三个方法是init().service()与destory()方法.当Web容器加载Servlet类并实例化之后,会生成ServletConfig对象并 ...

  8. JSP Servlet学习笔记——使用fileupload上传文件

    关键代码如下: index.jsp <body> <center> <h3>文件上传</h3> <font color="red&quo ...

  9. JSP&Servlet学习笔记----第6章

    JSP与Servlet是一体两面的关系. JSP最终还是被编译为Servlet. <%@page contentType="text/html;charset=UTF-8" ...

随机推荐

  1. 9、BOM (浏览器对象模型)

    1.认识BOM js 三个部分: 1.ECMAScript标准 ECMA5 ECMA6 2.BOM Browser Object Model 浏览器对象模型 3.DOM 文档对象类型 window对象 ...

  2. JACKSON详解

    Jackson 框架,轻易转换JSON Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 前面有介绍过json-lib这个框架,在 ...

  3. 【转】AngularJS动态生成div的ID

    AngularJS动态生成div的ID 原文链接:http://blog.csdn.net/you23hai45/article/details/52348078 1.问题背景 给定一个数组对象,里面 ...

  4. .net core 获取不到session 和cookies的值

    在启动类的configure services()方法中,设置选项.checkconsent必需=context=false;如下: services.Configure<CookiePolic ...

  5. 点击鼠标出现漂浮字体("自信", "自强", "坚持"...)效果实现

    前面我们谈到了漂浮磁力线/鼠标吸铁石特效你也可以实现,现在来聊聊点击鼠标出现漂浮字体("自信", "自强", "坚持"...)效果的实现,这 ...

  6. airsim 无法打开包括文件corecrt.h

    原因: 显示无法打开包括文件corecrt.h.在网上找了很多方法,最后综合起来发现,这个问题网上很多人反映,应该是vs2015的一个BUG,如果是选择"从父级或项目默认设置继承" ...

  7. java之IDEA中使用Maven

    Maven的安装与使用 安装 1.下载,官网下载. 2.解压,存放路径中不可包含空格和中文.如:"E:\dev\workspace\maven\apache-maven-3.6.0" ...

  8. 小程序图表wx-chart

    下载地址 https://github.com/xiaolin3303/wx-charts 使用步骤: 一.解压后,把dist里面的wxcharts.js或者wxcharts-min.js放在小程序的 ...

  9. 笔记:Linux(AWS Redhat)开机启动workman进程(/etc/rc.local必须是755权限)

    1.使用which命令查看php的安装路径 [root@ip---- ~]# which php /usr/bin/php 2.使用vim /etc/rc.local将要执行的命令加入/etc/rc. ...

  10. Docker:搭建私有镜像仓储(image registry)(4)

    搭建私有仓储,其实本质上也是运行了一个官方提供的(Registry)镜像的容器:生产环境中,我们要搭建自己的专有仓储 下载registry镜像 docker pull registry 运行镜像 do ...