EL表达式el的内置对象(了解)
11个
pageScope
requestScope
sessionScope
applicationScope
param
paramValues
header
haederValues
initParam
cookie★
pageContext★
注意:
除了pagecontext其余对象获取的全是map集合
格式: ${el表达式}
获取域中数据:★
注意:★
若属性名中出现了"."|"+"|"-"等特殊符号,需要使用scope获取
例如:
${requestScope["arr.age"] }
获取简单数据
${pageScope|requestScope|sessionScope|applicationScope.属性名}
以后经常使用:
${属性名}:依次从pageContext,request,session,application查找指定属性,若查找到返回值,结束该次查找
若查找不到,返回""
获取复杂数据
获取数组中的数据
${域中的名称[index]}
获取list中的数据
${域中的名称[index]}
获取map中的数据
${域中的名称.键名}
javabean导航
javabean:
java语言编写的一个可重用的组件,
狭义上来说就是我们编写的一个普通的java类 例如:User Person
javabean规范:
1.必须是一个公共的具体的类 public class
2.提供私有的字段 private String id;//id称之为字段
3.提供公共访问字段的方法 get|set|is方法
public String getId(){..}
一旦有公共的方法之后,get|set|is之后的内容,将首字母小写,将这个东西称之为bean属性
id就是一个bean属性
4.提供一个无参的构造器
5.一般实现序列化接口 serializable
${域中javabean名称.bean属性}
JSTL
jsp标准的标签库语言,apache的,用来代替java脚本
使用步骤:
1.导入jar包 (jstl.jar和standard.jar)
2.在页面上导入标签库
<%@taglib prefix="" uri=""%>
例如:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstl的分类:
core:核心类库 ★
fmt:格式化|国际化
xml:过时了
sql:过时了
函数库:很少使用
core:掌握
★c:if
★c:forEach
c:set 往域中设置值
c:choose c:when c:otherwise 分支
★c:if 判断
<c:if test="${el表达式}">满足的时候输出的内容</c:if>
例如:
<c:if test="${3>4 }">
3大于4
</c:if>
<c:if test="${3<=4 }">
3不大于4
</c:if>
//
★c:forEach 循环
格式1:
<c:forEach begin="从那里开始" end="到那里结束" step="步长" var="给变量起个名字" varStatus="循环状态变量">
${i }--${vs.count }--${vs.current }<br>
</c:forEach>
varStatus:用来记录循环的状态
常用的属性:
count:记录次数
current:当前遍历的内容
例如:
<c:forEach begin="1" end="20" step="2" var="i" varStatus="vs">
${i }--${vs.count }--${vs.current }<br>
</c:forEach>
格式2:
<c:forEach items="${el获取域中的容器}" var="n">
${n }
</c:forEach>
例如:
//遍历list
<c:forEach items="${list }" var="n">
${n }
</c:forEach>
//遍历map
<c:forEach items="${map }" var="en">
${en.key }-- ${en.value }<br/>
</c:forEach>
OGNL
1、OGNL是ObjectGraphic Navigation Language(对象图导航语言)的缩写,
它是一个开源项目。webwork用它作为表达式语言。
2、其他重要的功能
a、支持对象方法调用,如xxx.doSomeSpecial();
b、支持类静态的方法调用和值访问
c、访问OGNL上下文(OGNL context)和ActionContext;
d、操作集合对象。