首页 > 其他分享 >EL & JSTL

EL & JSTL

时间:2022-11-01 23:48:32浏览次数:54  
标签:EL 遍历 标签 value JSTL key

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>

标签:EL,遍历,标签,value,JSTL,key
From: https://www.cnblogs.com/luisblog/p/16849578.html

相关文章

  • 练手项目-C实现交互式Shell
    项目描述利用C语言实现交互式Shell终端功能。先实现常用Linuxcommand。交互式Shell交互式shellIO实现remove-指定创建和删除文件IO-opendir-readdir文件IO......
  • shell-字符串处理学习笔记一
    计算字符串长度${#string}exprlength"$string"string有空格,则必须加双引号str="helloworld"#${#string}len=${#string}echo$len11#`exprlength"$stri......
  • shell脚本:条件语句
    导图1.条件测试1.1test命令测试格式1:test条件表达式格式2:[条件表达式]1.2test操作符-d:测试是否为目录(Directory)-e:测试目录或文件是否存在(Exist)-a:测试目录......
  • 【笔记】IntelliJ IDEA常用快捷键
    Ctrl+[Enter]:光标不动,在下一行前插入空行Ctrl+Shift+[Enter]:调整此行的缩进(如符号左右加空格)Ctrl+Alt+L:调整所有行的缩进Ctrl+E:显示最近的文件列表Ctrl+E+Shift:显示最近更改......
  • Elastic Stack的四大组成部分
    Elasticsearch基于Json的分布式搜索和分析引擎Logstash动态数据收集管道,生态丰富Kibana提供数据的可视化界面Beats轻量级的数据采集器......
  • Linux学习笔记(第零篇)Linux文件系统及Shell
    ​​Linux学习笔记(第零篇)计算机基础​​Linux学习笔记(第零篇)Linux文件系统及ShellLinux学习笔记(第一篇)零散命令Linux学习笔记(第二篇)目录操作命令Linux学习笔记(第三篇)文件操......
  • easyExcel追加内容
        Filefile=newFile("test.xlsx");    FiletempFile=newFile("temp.xlsx");    Wordword=newWord();    word.w="AAAkkk22......
  • ElementUI 图片文件预览插件封装
    ImgViewer.vue<template><Dialogtitle="图片预览":visible.sync="dialogVisible":append-to-body="true"@closed="dialogImageUrl=''"><imgv-if="dialogI......
  • Java生成Excel自定义导出合并(多级表头)
    一、糊涂工具包1.导入依赖(注:导入的依赖可能会和poi依赖包冲突,导致项目启动不了,我这里poi-ooxml依赖包用的4.1.2版本,可以解决冲突问题)<!--糊涂工具包--><dependency><g......
  • 优雅的写好Vue项目代码 — 路由拆分、Vuex模块拆分、element按需加载
    目录路由的拆分VUEX模块拆分ElementUI库按需加载的优雅写法路由的拆分项目较大路由较多时,路由拆分是一个不错的代码优化方案,按不同业务分为多个模块,结构清晰便于统一管......