一.EL表达式

  JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null

EL中的基础操作符

1.${表达式} (这个是可以运算的,在jsp中就可以省去<% %>,无java代码)

 ${100+100}<br>

      2=2${2==2}<br>

 4>3${4>3 }<br>

 <%

   String s=null;

  %>

     empty${empty s }<br>

     4>3${4 gt 3 }<br>

     4>3 and 4>2${4 gt 3 && 4 gt 2 }

JSP EL隐含对象

2.使用el表达式取表单数据

${param.num} 取单个数据
<br/>
${paramValues.data[0]}
${paramValues.data[1]}<br/>
取多个值

3.使用el表达式取对象与对象中的属性

     ${stu} 取对象

     ${stu.name} 对象中的属性

     <br/>

     ${stu.age }对象中的属性

     <br/>

     ${stu["name"]}对象中的属性

     ${stu["age"]}对象中的属性

     <br/>

二.Jstl表达式 

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

根据JSTL标签所提供的功能,可以将其分为5个类别。

  • 核心标签
  • 格式化标签
  • JSTL 函数
  • SQL 标签
  • XML 标签

核心标签

1. 引用核心标签库的语法如下:

使用jstl标签库,要在jsp头部添加

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

用法如下:

 <c:set var= "example" value="${100+1}" scope="session"  />    定义变量

 <c:out value="${example}"/> 输出变量

 <c:remove var= "example" scope="session"/> 删除变量

 <br/>

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

2.条件:

单条件:

<c:set var= "example" value="${100+1}" scope="session"  />  

    <c:if test="${example>100}">

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

</c:if>

两个条件:

<c:set var= "example" value="${100-1}" scope="session"  />   

    <c:choose> 

    <c:when test="${example>100 }">

      example>100

    </c:when> 

    <c:otherwise>

      exmaple<=100

    </c:otherwise>

</c:choose>

多个条件:

<c:set var= "example" value="${1000}" scope="session"  />

    <c:choose>

    <c:when test="${example>100 }">

      example>100

    </c:when>

     <c:when test="${example==100 }">

      example=100

    </c:when>

    <c:otherwise>

      exmaple<100

    </c:otherwise> 

    </c:choose>

3.循环:

    <c:set var="nums" value="1,2,3,4" scope="request"/>   

  <c:forEach items="${nums}"  var="item">

    ${item}<br/>

  </c:forEach>

4.Javabean对象与El表达式与jstl标签库的综合使用:

        <c:forEach items="${requestScope.lists}" var="product"  varStatus="status">

                       <!-- 如果是偶数行,为该行换背景颜色 -->

                      <tr <c:if test="${status.index % 2 == 1 }"> style=""</c:if>

                      >

                          <td>

                                 ${status.index  }

                            </td>

                            <!-- 商品名称 -->

                            <td>

                                 ${product.name }

                            </td>

                            <!-- 产地 -->

                            <td>

                                 ${product.area }

                            </td>

                            <!-- 价格 -->

                            <td>

                                 ${product.price }

                            </td>

                      </tr>

                 </c:forEach>

格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

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

JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

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

JSP8的更多相关文章

  1. Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持

    [本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: ...

随机推荐

  1. CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装

    CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 http://www.cnblogs.com/ppoo24/p/4918288.ht ...

  2. eclipse远程调试Linux环境下的web项目

    前提: 远程服务器上的代码和本地的代码同步 第一步 : 配置远程服务器下的startup.sh文件 在第一行添加 : declare -x CATALINA_OPTS="-server -X ...

  3. 【NOIP模拟】jzoj5233概率博弈(树规)

    Description 小A和小B在玩游戏.这个游戏是这样的: 有一棵

  4. LINUX 笔记-MOUNT

    mount [-t vfstype] [-o options] device dir -o options: 主要用来描述设备或档案的挂接方式 1)loop:用来把一个文件当成硬盘分区挂上系统 2)r ...

  5. [译]ASP.NET Core 2.0 会话状态

    问题 如何在ASP.NET Core 2.0中存储会话状态? 答案 创建一个空项目,修改Startup类的ConfigureServices()方法,添加会话状态服务和它后台的存储服务: public ...

  6. MongoDB覆盖索引查询

    官方的MongoDB的文档中说明,覆盖查询是以下的查询: 1. 所有的查询字段是索引的一部分 2. 所有的查询返回字段在同一个索引中 由于所有出现在查询中的字段是索引的一部分, MongoDB 无需在 ...

  7. MongoDB复制

    1. 什么是复制 (1)MongoDB复制是将数据同步在多个服务器的过程. (2)复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性. (3)复制还允 ...

  8. JPA的一对多映射(双向)关联

    实体Customer:用户. 实体Order:订单. Customer和Order是一对多关系.那么在JPA中,如何表示一对多的双向关联呢? JPA使用@OneToMany和@ManyToOne来标识 ...

  9. mysql开启慢查询日志以及查看(转载自网络)

    转载自http://database.51cto.com/art/201309/410314_1.htm

  10. css基础语法二(常用文本与背景属性)

    [CSS常用文本属性] 1. 字体.字号类:① font-weight: 字体粗细. bold-加粗.normal-正常.lighter-细体 也可以使用100-900数值,400表示normal,7 ...