一.EL表达式
JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null
EL中的基础操作符
1.${表达式} (这个是可以运算的,在jsp中就可以省去<% %>,无java代码)
1 ${100+100}<br> 2 ?3 ?????2=2${2==2}<br> 4 ?5 4>3${4>3 }<br> 6 ?7 ??8 ?9 <%10 11 ??String s=null;12 13 ?%>14 15 ????empty${empty s }<br>16 17 ???18 19 ????4>3${4 gt 3 }<br>20 21 ????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表达式取对象与对象中的属性
1 ????${stu} 取对象 2 ?3 ????${stu.name} 对象中的属性 4 ?5 ????<br/> 6 ?7 ????${stu.age }对象中的属性 8 ?9 ????<br/>10 ?11 ????${stu["name"]}对象中的属性12 13 ????${stu["age"]}对象中的属性14 15 ????<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"%>
用法如下:
1 <c:set var= "example" value="${100+1}" scope="session" ?/> ???定义变量2 3 <c:out value="${example}"/> 输出变量4 5 <c:remove var= "example" scope="session"/> 删除变量6 7 <br/>8 9 <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标签库的综合使用:
1 ???????<c:forEach items="${requestScope.lists}" var="product" ?varStatus="status"> 2 ?3 ??????????????????????<!-- 如果是偶数行,为该行换背景颜色 --> 4 ?5 ?????????????????????<tr <c:if test="${status.index % 2 == 1 }"> style=""</c:if> 6 ?7 ?????????????????????> 8 ?9 ????????????????????10 11 ?????????????????????????<td>12 13 ????????????????????????????????${status.index ?}14 15 ???????????????????????????</td>16 17 ???????????????????????????<!-- 商品名称 -->18 19 ???????????????????????????<td>20 21 ????????????????????????????????${product.name }22 23 ???????????????????????????</td>24 25 ???????????????????????????<!-- 产地 -->26 27 ???????????????????????????<td>28 29 ????????????????????????????????${product.area }30 31 ???????????????????????????</td>32 33 ???????????????????????????<!-- 价格 -->34 35 ???????????????????????????<td>36 37 ????????????????????????????????${product.price }38 39 ???????????????????????????</td>40 41 ?????????????????????</tr>42 43 ????????????????</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
原文地址:http://www.cnblogs.com/HawkFalcon/p/7727727.html