JAVAWEB学习笔记-JSP02

JAVAWEB学习笔记-JSP02

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页面使用其可以非常方便的进行数据的处理

流程

  1. 导入jar包
  2. 引入核心标签库
    <%@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了,小激动!


Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.byfree.top/archives/jsp02