JSP8
一.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的更多相关文章
- Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持
[本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: ...
随机推荐
- 【转】scatterlist && DMA
原文:scatterlist && DMA DMA是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制.使用DMA可以是系统CPU从实际的IO数据传输过程中摆脱出 ...
- 【Win 10 应用开发】在代码中加载文本资源
记得前一次,老周给大伙,不,小伙伴们介绍了如何填写 .resw 文件,并且在 XAML 中使用 x:Uid 标记来加载.也顺便给大伙儿分析了运行时是如何解析 .resw 文件的. 本来说好了,后续老周 ...
- Python数据库查询之组合条件查询-F&Q查询
F查询(取字段的值) 关于查询我们知道有filter( ) ,values( ) , get( ) ,exclude( ) ,如果是聚合分组,还会用到aggregate和annotate,甚至还有万能 ...
- I - Intersection HDU - 5120(圆环相交面积)
Matt is a big fan of logo design. Recently he falls in love with logo made up by rings. The followin ...
- A. 拼音魔法
A. 拼音魔法 Time limit per test: 1.0 seconds Time limit all tests: 1.0 seconds Memory limit: 256 megabyt ...
- Stars(二维树状数组)
Stars Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others) Total Submiss ...
- Can you solve this equation?
Can you solve this equation? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Jav ...
- 2015ACM/ICPC亚洲区沈阳站 Pagodas
Pagodas Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Sub ...
- 分析Array.apply(null, { length: 5 })
Array.apply(null, { length: 5 }) 和 Array(5)有什么不同 注意:ES5,apply函数的第二个参数除了可以是数组外,还可以是类数组对象 // 类转成真正的数组 ...
- Spring AOP分析(3) -- CglibAopProxy实现AOP
上文探讨了应用JDK动态代理实现Spring AOP功能的方式,下面将继续探讨Spring AOP功能的另外一种实现方式 -- CGLIB. 首先,来看看类名CglibAopProxy,该类实现了两个 ...