IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> EL表达式和JSTL标签 -> 正文阅读

[JavaScript知识库]EL表达式和JSTL标签

1.EL表达式:
?? ?1.1初识 EL表达式
?? ??? ?EL在开发中,通常是用来获取域对象中保存的值,基本语法:${域对象的名称}。
?? ??? ?比如说:request.setAttribute("key" , "value123"): ${ "key"},获取的值就是value123
?? ??? ?如果域对象的名称写错了,使用el表达式获取值,获取的是 "" ?空串
?? ?1.2EL表达式中的标识符
?? ??? ?在el书写过程中,会用一些符号来标记标量、函数名等,这些符号称之为标识符
?? ??? ?书写规范:
?? ??? ?1.不能以数字开头
?? ??? ?2.不能包含el中的关键字:and,or等
?? ??? ?3.不能使用el表达式的隐式对象。
?? ??? ?4.不能包含特殊符号,比如正斜杠等
?? ?1.3EL中的变量
?? ??? ?基本格式:${域对象的名称},这个域对象的名称可以理解为就是el中的变量,
?? ??? ??? ?这个变量就不需要定义了,可以直接使用。
?? ?1.4EL中的常量
?? ??? ?1.布尔常量:true或false
?? ??? ?2.数字常量:整型、浮点等常量,使用方式和java差不多
?? ??? ?3.字符串常量:使用方式和java差不多,比如:${ "el的字符串常量""}
?? ??? ?4.Null常量:${nu1}
?? ?1.5EL中的运算符
?? ??? ?1.点运算符:获取域对象中属性的值。
?? ??? ??? ?比如:${person.name }
?? ??? ?2.方括号运算符:在域对象里,有的属性包含特殊字符,所以用方括号的方式来获取值
?? ??? ??? ?比如:<%
?? ??? ??? ??? ?Map<String,string> map= new HashMap<String,String>();
?? ??? ??? ??? ?map.put( "my-name" , "map的值");
?? ??? ??? ??? ?request.setAttribute( "user",map);
?? ??? ??? ? ? ? ? %>
?? ??? ??? ? ? ? ? ?${user[ "my-name"] }
?? ??? ?3.算术运算符:与Java一样
?? ??? ?4.比较运算符:与Java一样
?? ??? ?5.逻辑运算符:与Java一样
?? ??? ?6.empty运算符:用来判断域对象中的值是否存在,不存在返回为true,否则返回的结果是false,
?? ??? ?7.三目运算符:与Java一样
?? ?1.6EL中的 ?隐式对象
?? ??? ?1.pageContext对象:为了获取jsp中的隐式对象。
?? ??? ??? ?比如:
?? ??? ??? ?获取项目的路径:${pageContext.request.contextPath }<br/>
?? ??? ??? ?获取请求的URL :${pageContext.request.requestURI }
?? ??? ?2.web域相关的对象
?? ??? ??? ?域作用范围从小到大:pageContext--->request--->session--->application(servletContext)
?? ??? ??? ?el表达式获取域对象中的值:如果域对象的名称相同,获取的是域作用范围最小的值。
?? ??? ??? ??? ??? ? ? ? ? ? 和pageContext对象的findAttribute方法的效果是一样的。
?? ??? ?3.param和paramValues对象:获取表单提交的数据。
?? ??? ??? ?比如:
?? ??? ??? ??? ?num1 :<input type="text" name="num1" /><br/>
?? ??? ??? ??? ?num2 :<input type="text" name="num”/><br/>
?? ??? ??? ??? ?num3 :<input type="text" name="num"/><br/>
?? ??? ??? ??? ?<input type="submit" value="提交”/>&nbsp;&nbsp;<input type="reset" value="重填”/><hr/>
?? ??? ??? ??? ?num1:${param.num1 }<br/>
?? ??? ??? ??? ?num2:${paramValues.num[0] }<br/>
?? ??? ??? ??? ?num3:${paramValues.num[1] }
?? ??? ?4. Cookie对象:获取cookie的名称,获取cookie的值
?? ??? ??? ?比如:
?? ??? ??? ??? ?<% response.addCookie(new Cookie("userName","itcast"));%>
?? ??? ??? ??? ?获取cookie对象:${ cookie.userName }<br/>
?? ??? ??? ??? ?获取cookie的名称:${ cookie.userName.name }<br/>
?? ??? ??? ??? ?获取cookie的值:${ cookie.userName.value }<br/>

2.JSTL?
?? ?2.1什么是JSTL
?? ??? ?JSTL: JavaServer Pages Standard Tag Libary,java服务器段页面的标准标签库,其实就是在jsp页面上使用的标签库。
?? ??? ?]STL标签库有五个组成,通常使用核心标签库。
?? ??? ?在jsp页面上面引入标签库:<@ taglib uri="标签库的url地址" prefix="标签的前缀”%>
?? ?2.2JSTL的下载和使用
?? ??? ?1.在jsp页面使用taglib指令引入标签库
?? ??? ?2.导入jstl相关的jar包
?? ??? ?3.测试
?? ?2.3JSTL中的Core标签
?? ??? ?1.<c: out>标签:向网页输出内容
?? ??? ??? ?基本语法:
?? ??? ??? ?第一种:<c:out value="el表达式获取值" default="值" escapeXml="true或者false">x</c:out>
?? ??? ??? ?第二种: <c:out value="el表达式获取值" escapeXml="true或者false">默认值</c:out>
?? ??? ??? ?default:如果value属性获取到了值,就输出这个值,如果没有获取到,就输出default属性对应的值
?? ??? ??? ?escapeXml(默认值true):如果值为true,就会把html标记当成普通的字符串输出,如果值为false,就会正常解析html标记,正常输出
?? ??? ?2.<c:if>标签:进行条件判断,和java类中的if很相似
?? ??? ??? ?基本语法:
?? ??? ??? ??? ?第一种:<c:if test="条件表达式"var="变量名称"scope="域的范围"></c:if>
?? ??? ??? ??? ?第二种: <c:if test="条件表达式" var="变量名称" scope="域的范围">标签体内容</c:if>
?? ??? ??? ??? ?在开发中,经常使用第二种
?? ??? ??? ??? ?test属性:如果返回值为true,就输出标签体内容,否则就不输出。
?? ??? ?3.<c:choose>标签:进行条件判断,和java类中的if,else if(),else if()---else很相似
?? ??? ??? ?基本语法:
?? ??? ??? ??? ?<c:choose>
?? ??? ??? ??? ??? ?<c:when test="条件表达式">标签体内容</c:when>
?? ??? ??? ??? ??? ?<c:when test="条件表达式">标签体内容</c:when>
?? ??? ??? ??? ??? ?--------------
?? ??? ??? ??? ??? ?<c:otherwise>标签体内容</c:otherwise>----->else
?? ??? ??? ??? ?</c:choose>
?? ??? ??? ?
?? ??? ?4.<c:forEach>标签:遍历域对象中的数组和集合,和java类中的for循环很相似
?? ??? ??? ?基本语法:
?? ??? ??? ??? ?第一种::<c:forEach var="yuanshu" items="数组或者集合中的值" begin="下标" end="结束的下标"step="遍历的增量"×x/c:for>
?? ??? ??? ??? ?普通for:
?? ??? ??? ??? ??? ?for( int i=o; i<数组或集合的长度;i+)
?? ??? ??? ??? ?第二种:<c:forEach var="yuanshu" items="数组或者集合中的值"x</c:forEach>
?? ??? ??? ??? ?增强for:
?? ??? ??? ??? ??? ?for(String yuanshu:数组或者集合){ yuanshu }
?? ??? ??? ??? ?varStatus属性: count表示序号,index表示索引(下标),first判断是否是第一个元素
?? ??? ??? ??? ??? ? ? ? ? ?last判断是否是最后一个元素
?? ?
?? ??? ?5.<c:param>标签和<c:url>标签:设置路径和传递参数。
?? ??? ??? ?基本语法:
?? ??? ??? ??? ?<c :url var="变量名称"url="路径值">
?? ??? ??? ??? ??? ?<c:param name="属性名称" value="属性值"></c:param>
?? ??? ??? ??? ??? ?-------------
?? ??? ??? ??? ?</c:url>
?? ??? ??? ?开发的访问路径:
?? ??? ??? ??? ?>>>1.绝对路径:
?? ??? ??? ??? ??? ?第一种: http:/ / localhost:8080/ JSTL/ login.html
?? ??? ??? ??? ?>>>2.相对路径:
?? ??? ??? ??? ??? ?直接写访问的资源路径:比如login.html

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:30:57  更:2022-02-01 20:31:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:28:08-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码