
文字:
EL表达式:
1.概念:Expression Language(表达式语言)
2.作用:替换和简化java代码的编写
3.语法:${表达式}
4.注意:
jsp默认支持el表达式,如果要忽略el表达式
1.设置jsp中page指令的:isELIgnored="true" 忽略当前页面中所有的el表达式
2./${表达式}:忽略当前的el表达式
5.使用:
1.运算:
运算符:
1.算术运算符:+ - * /(div) %(mod)
2.比较运算符:> < >= <= == !=
3.逻辑运算符:&&(and) | |(or) !(not)
4.空运算符:empty
功能:判断字符串、集合、数组对象是否为null或者长度是否为0
例: ${empty list}
${not empty list}
2.获取值:
1.el表达式只能从域对象中获取值
2.语法:
1.${域名称.键名}:从指定域中获取指定键的值
1.域名称:
1.pageScope pageContext
2.requestScope request
3.sessionScope session
3.applicationScope application(ServletContext)
举例:在request域中存储了name=张三
${requestScope.name}
2.${键名}:表示依次从最小的域中查找是否有改键对应的值,直到找到为止
例:${name}
3.获取对象、List集合、Map集合的值
1.对象:
${域名称.键名.方法名()}
${域名称.键名.属性名}
本质上会去调用对象的getter方法
2.List集合:
${域名称.键名[索引]}
3.Map集合:
${域名称.键名.key名称}
${域名称.键名.["key名称"]}
3.隐式对象:el表达式中有11个隐式对象
pageContext:
1.获取jsp其他八个内置对象
${pageContext.request.contextPath}
在jsp页面动态获取虚拟目录
JSTL表达式:
1.概念:Java Server Pages Tag Library(JSP标准标签库)
是由Apache组织提供的开源的免费的jsp标签
2.作用:用于简化和替换jsp页面上的java代码
3.使用步骤:
1.导入jstl相关jar包
2.引入标签库:taglib指令:<%@ tagilb %>
3.使用标签
4.常用的jstl标签:
1.<c:if>标签:相当于java中的if语句
1.属性:
test:(必要)布尔表达式
true:显示标签体内容
false:不显示标签体内容
一般情况下,test属性值会结合el表达式一起使用
2.注意:<c:if>没有else情况,只能重定义来实现else
2.<c:choose>标签:相当于java中的switch语句
<c:when test="${ xxx }">:相当于case
<c:otherwise>:相当于default
3.<c:forEach>标签:相当于java中的for语句
1.普通循环属性:for(int i=o;i<10;i++)
begin:开始值
end:结束值
var:临时变量
stop:步长
varStatus:循环状态对象
index:容器中元素的索引,从0开始
cout:循环次数,从1开始
2.遍历容器属性:for( String s : strs)
var:容器中元素的临时变量
items:容器对象(items="${list}")
varStatus:循环状态对象
index:容器中元素的索引,从0开始
cout:循环次数,从1开始