EL表达式

标准语法格式:
${域对象别名.关键字}
${requestScope.key}

可用简化版:(定位顺序:pageContext-->request-->session-->application)
简化语法格式:
${关键字}
${key}

==================================================================
相关运算:
${key1 + key2}
${age ge 18 ? "yes" : "no") 等价 ${age > 18 ? "yes" : "no")

==================================================================    
可用内置对象:
1.param
作用:读取请求参数
等同:String value = request.getParameter("请求参数名") out.write(value)
语法格式:
${param.key}

2.paramValues
作用:读取多个请求参数(前端为多选按钮发送参数时)
等同:String array[] = request.getParameter("请求参数名") out.write(array[0])
语法格式:
${paramValues.array[0]}
EL表达式中获取多个参数无法进行遍历,只能一个一个展示,但JSTL实现了循环遍历。
    
3.initParam
作用:读取全局作用域中的共享数据(一般存有如driver等配置数据)    
等同:String value = application.getInitParameter("driver") out.write(value)
语法格式:     
${initParam.共享数据名}

JSTL标签工具类

前提:

  1. 导入 jstl 和 standard 的 jar 包
  2. 在需要使用 JSTL 标签的 jsp 中添加 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
1.set标签
作用:在jsp文件上设置域对象中共享数据
语法:<c:set scope="session/application/request/page" var="key" value="共享数据" />
    
2.if标签
作用:控制哪些内容可写入响应体    
示例:
<c:if test="${sessionScope.age ge 18}">
    欢迎光临
</c:if>

3.choose标签    
作用:多分支选择判断,控制哪些内容可写入响应体
示例:    
<c:choose>    
    <c:when test="EL表达式判断">内容1</c:when>
    <c:when test="EL表达式判断">内容2</c:when>        
    <c:otherwise>内容3</c:otherwise>        
</c:choose>    

4.forEach标签
第一种使用方式:直接循环遍历
var:声明循环变量名
begin:初始化循环变量
end:循环变量可接收的最大值
step:循环变量递增值或递减值
注意:step可省略,默认递增或递减一;数据均是存储到当前页作用域对象中
<select>
    <c:forEach var="i" begin="1" end="5" step="1">
        <option>第${pageScope.i}页</option>
    </c:forEach>
</select>    

第二种使用方式:遍历域对象中List集合对象
item:通过EL表达式获取域对象集合
var:声明循环变量
<c:forEach items="${key}" var="stu">
    <tr>
        <td>${stu.sid}</td>
        <td>${stu.sname}</td>        
    </tr>
</c:forEach>

第三种使用方式:遍历域对象中Map集合对象
注意:遍历map集合,每次从map中得到一个键值对
示例遍历map:
<c:forEach items="${mapKey}" var="key_value">
    <tr>
        <td>${key_value.key}</td>
        <td>${key_value.value.sid}</td>
        <td>${key_value.value.sname}</td>        
    </tr>
</c:forEach>

原文地址:http://www.cnblogs.com/luisblog/p/16849578.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性