21/3/2020
小项目进行完成第一阶段了,接下来的优化要依赖于jsp第二阶段的学习知识,冲鸭!
EL表达式
22/3/2020 10:16
语法
${表达式}
注意:el表达式自带响应功能
使用
获取请求数据
获取用户请求数据(请求实体):
${param.键名}
:获取亲贵实体中一个键一个值的数据
${paramValues.键名}
:获取请求实体中同键不同值的数据,返回一个String数组
获取请求头数据:
${header}
:返回所有的请求头,键值对形式
${header["键名"]}
:获取指定的请求头键值对
${headerValues["键名"]}
:指定键的所有值,返回一个String数组
获取cookie数据
${cookie}
:获取所有的cookie对象,键值对,键是cookie对象名,值是cookie内容的地址
${cookie.键名}
:获取指定cookie的cookie对象
${cookie.键名.name}
:获取指定cookie的cookie对象的键
${cookie.键名.values}
:获取指定cookie的cookie对象值
获取作用域数据
作用域对象:pageContext,request,session,application
作用域数据:使用setAttribute方法存储的数据
获取:
${键名}:普通字符串数据
${键名.属性名}:对象数据
作用域查找顺序:如果找到了就不找了,找不到就继续找下个作用域,如果4个作用域都没有就不显示
pageContext->request->session->application
指定作用域
${pageScope.键名}
${requestScope.键名}
${sessionScope.键名}
${applicationScope.键名}
逻辑运算
算数运算:+ - * / 注意:+表示算数运算不能进行字符串连接
逻辑运算:&& || !注意:没有&和|
比较运算:== >= <= != 可以使用三目运算
empty判断
使用:
${empty 键名}
判断该键名是否存储数据
JSTL标签库
作用
在jsp页面使用其可以非常方便的进行数据的处理
流程
- 导入jar包
- 引入核心标签库
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
内容
标签
out:获取作用域数据
<c:out value="${}" default="若value为空默认显示"></c:out>
作用:结合EL表达式将数据相应给浏览器
set:设置作用域数据
<c:set value="值" var="键" scope="作用域"></c:set>
scope默认是pageContext
作用:设置作用域值
remove:移除作用域数据
<c:remove var="要删除数据的键名" scope="作用域名"/>
作用:删除作用域中的数据,默认是删除所有
if:单分支判断
<c:if test="${2>8}">
<b>今天天气不错啊!</b>
</c:if>
注意:el表达式不能取到普通变量
choose:多分支判断
<c:choose>
<c:when test="${score>=90}">
<i>苹果手机一台</i>
</c:when>
<c:when test="${score<=90&&score>=70}">
<i>苹果一个</i>
</c:when>
<c:otherwise">
<i>男女混合双打</i>
</c:when>
</c:choose>
注意:只会执行一个
forEach:普通循环
<c:forEach begin="1" end="5" step="2" varStatus="i">
<p>111</p>
</c:forEach>
对比java原生循环
for (int i = 1; i <= 5; i+=2) {
sout("111");
}
begin:开始-->1
end:结束-->5
step:步长-->i+=2
varStatus:当前值,默认放在作用域内,需要用el表达式获取-->i
${i.index}
:获取当次循环的下标
${i.count}
:获取当前循环的次数
${first}
:判断当前循环是否是第一个
${i.last}
:判断当前循环是否是最后一个
forEach:遍历循环
<c:forEach items="${list}" var="s">
<p>${s}</p>
</c:forEach>
for (String s : list) {
sout(s);
}
可以变相理解为java 增强for循环
遍历map集合
<c:forEach items="map" var="s">
${s.key}--${s.value}
</c:forEach>
23/3/2020
jsp告一段落
要学ajax了之前学前段的时候就不是很明白ajax到底能干啥,现在终于要系统的学习ajax了,小激动!
Q.E.D.