jsp---EL和JSTL
2021-02-18 04:18
标签:bean 执行 捕获异常 escape 取数据 property jsp标签 each string ---------------------------------------------------------------------------- EL:表达式语言 1. 基本用法 表达式为字符串或EL运算符组成的表达式 tips:要输出 ${ 这个字符串 ${\${} 或 ${‘${‘} 2. 兼容低版本--禁用EL (1) 在 &{ 前加 \ 不解析为EL表达式 (2)page指令 禁用整个JSP页面的EL (3)配置文件 web.xml文件 禁用整个web应用中所有jsp页面中的EL 3. (1)EL关键字 (2)运算符优先级 empty运算符:判断有域中键对应的值是否为空、长度是否为0 4. 获取数据 只能从域对象中获取值 (1)值为字符串 ①格式: ${域名称.键名} 域:pageScope 从pageContext对象获取 requestScope 从request sessionScope 从session applicationScope 从application(ServletContext) ②格式: ${键名} 一次从最小的域中找该键值对,直到找到为止【pageScope-->requestScope-->sessionScope-->applicationScope】 (2)值为对象 ①自定义的符合JavaBean的类,用 域.键.成员变量名 ②值为List集合 ${域名称.键名[索引]} 索引为数值,从0开始 ③值为Map集合 ${域名称.键名.Map中的键名} ${域名称.键名["Map中的键名"]} 4. EL的隐含对象 4.1 pageContext 页面上下文对象 可获取JSP的内置对象,包括request、response、out、session、exception、page,不能获取application、config、pageContext对象 不能获取servletContext 6. 定义使用EL函数 ---------------------------------------------------------------------------------------------------------------- JSTL标签 1. 5个标签库 核心标签库: 格式标签库: SQL标签库: XML标签库: 函数标签库: 2. 配置 3. 核心标签库 3.1 表达式标签 (1) 作用:将表达式的值输出到JSP页面,类似 ${表达式} 两种格式: ① ② value里面可使用EL表达式 escapeXml:是否将特殊字符进行转换(转换从字符输出,而不是对应的标签含义) 如要输出
即true:输出字面字符串 false:按其HTML含义解析输出 例: (2) 在指定范围内(page、request、session、application)定义保存某个值的变量,或者为指定对象设置值 ①定义变量 ②为对象属性设置值(为target指定的目标的属性propName设置值为value) (3) 移除指定范围内的变量 (4) 捕获异常 var可指定存储异常信息的变量 3.2 URL标签 (1) 导入静态或动态文件到web页面,类似 可导入其它网站的资源,而 ① ② context:访问同一个服务器其它web应用,以 "/" 开头,指定了此属性则url也必须以 "/" 开头 var:变量名,String类型,存储获取的资源 scope:指定变量的范围,默认page varReader:指定变量名,以Reader类型存储被包含文件的内容 标签体:可通过 (2) 将客户端发出的request请求重定向到其它URL服务端,可修改request中的属性进行修改然后传递 (3) 生成一个URL路径字符串,可赋予HTML的 标记实现URL的连接,或用这个URL实现网页转发、重定向 (4) 与import、redirect、url标签组合传递参数 3.3 流程控制标签 (1) 条件表达式结果保存在var指定的变量中: 结果保存在var指定的变量,且根据条件结果执行标签体(HTML标记、java代码、其它jsp标签): (2) 判断第一个when标签条件,为true则执行该标签体;否则判断下一个;如果都不满足,则执行 otherwise 标签体 (3) (4) 3.4 循环标签 (1) 根据循环条件遍历数组、集合中数据 ① items为必选属性,一般使用EL指定,其它可选 ② begin、end为必选属性,其它可选 items:被遍历对象 var:items指定的对象的成员 begin、end:起始、终止位置 可用EL step:循环步长 可用EL varStatus:指定循环的状态变量 标签体:JSP页面任何元素 例:遍历一个List里的第1、2个元素,并输出索引 (2) 用指定的分隔符将一个字符串分割开,根据分割的数量确定循环次数 jsp---EL和JSTL 标签:bean 执行 捕获异常 escape 取数据 property jsp标签 each string 原文地址:https://www.cnblogs.com/taoXiang/p/12940694.html${表达式}
c:out value="
" escapeXml="true" default=""/> -- 输出 hr> 这个字面字符串--%>
c:out value="
" escapeXml="false" default=""/> -- 输出 水平分割线--%>c:set var="name" value="value" scope="范围"/>
c:set var="name" scope="page|request|session|application">
值
c:set>
c:set value="value" target="object" property="propName"/>
c:set target="object" property="propName">
值
c:set>
c:remove var="name" scope="范围"/>
c:catch var="exception">
//可能存在异常的代码
c:catch>
c:import url="url" context="context" var="name" scope="范围" charEncoding="encoding">
标签体
c:import>
c:import url="url" varReader="name" context="context" charEncoding="encoding">
标签体
c:import>
c:redirect url="url" context="/context"/>
c:redirect url="url" context="/context">
c:param/>
c:param/
>
c:url value="url" var="name" scope="范围" context="context"/>
c:url value="url" var="name" scope="范围" context="context">
c:param/>
c:param/>
c:url>
c:param name="paramName" value="paramValue"/>
c:if test="condition" var="name" scope="page|request|session|application">
c:/if test="condition" var="name" scope="page|request|session|application">
标签体
c:if>
c:choose>
c:when test="condition">
标签体
c:when>
c:when test="condition">
标签体
c:when>
c:when test="condition">
标签体
c:when>
c:otherwise>
标签体
c:otherwise>
c:choose>
//集合成员迭代
c:forEach items="data" var="name" begin="start" end="finish" step="step" varStatus="statusName">
标签体
c:forEach>
//数字索引迭代
c:forEach begin="start" end="finish" var="name" step="step" varStatus="statusName">
标签体
c:forEach>
ListString> list = new ArrayListString>();
list.add("str1");
list.add("str2");
list.add("str3");
list.add("str4");
request.setAttribute("list",list);
%>
--遍历第1、2个元素--%>
c:forEach items="${requestScope.list}" var="val" varStatus="status" begin="1" end="2">
${status.index} :${val}br/>
c:forEach>
c:forTokens items="String" delims="char" var="name" begin="start" end="end" step="step" varStatus="statusName">
标签体
c:forTokens>
上一篇:HTML2
下一篇:使用Volley上传头像图片