EL
为什么要使用EL表达式:
1、代码结构混乱
2、脚本与HTML混合,容易出错
3、代码不易于维护
使用EL表达式来优化程序代码,增加程序可读性
---------------------------------------------------------------------------------------------------------
EL语法
EL语法
EL表达式(Experssion Language)
${EL表达式}例如:${username}
EL操作符
操作符.
获取对象属性,例如:${news.title}
操作符[]
获取对象的属性,例如:${news["title"]----------用${news.title} 两种一样
获取集合中的对象,例如newsList[0]
注意:EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯。
---------------------------------------------------------------------------------------------------------
EL功能
取的JavaBean对象的属性
${news.title}
取的数组、List、Map类型对象的元素
${list[0]}
使用各类运算符对原始数据进行简单处理
${totalRecordCount/pageSize} 示例 ${a/b}
屏蔽一些常见的异常
${username} 示例${usename}类似于request.getAttribute(xxx) 如果没有值 ${xxx}不会显示LUNN 而另一种会。 主要没有值就不显示NULL或 错误。
能实现简单的自动类型转换
${news}相当于(Nwes)request.getAttribute("news")
总结: 1、取的JavaBean对象的属性
2、取的数组、List、Map类型对象的元素
3、使用各类运算符对原始数据进行简单处理
4、屏蔽一些常见的异常
5、能实现简单的自动类型转换
---------------------------------------------------------------------------------------------------------
EL访问作用域 (这里学到单词Scope注意用法)
request.getAttribute("news");
两种方式取数据:
Java小脚本:request.getAttribute("news");
使用EL表达式:${news}或者${requestScope.news}
作用域 java取值代码 EL取值
请求作用域 request.getAttribute("news"); ${requestScope.news}
会话作用域 session.getAttribute("username"); ${sessionScope.username}
程序作用域 application.getAttribute("count"); ${appilcationScope.count}
页面作用域 pageContextgetAttribute("useNum"); ${pageContextScope.useNum}
注意:${xxx}找对象的顺序:pageContext-》application-》session-》request 从小到大一次寻找没找到返回NULL!
---------------------------------------------------------------------------------------------------------
注意:
1、使用"[]"操作符访问数据时,必须在属性名两侧使用双引号
2、EL表达式区分大小写
3、在使用EL表达式获取变量前,必须先将对象保存到作用域中
1、直接set后用
2、取值param.参数
---------------------------------------------------------------------------------------------------------------------------------------------------------------
EL表达式区分大小写
${EL表达式} 例:${uname}
EL操作符
操作符 ”.”
获取对象的属性 例:${new.title}这个常用
操作符 []
获取对象属性 例:${news[“title”]}
获取对象集合 例:newsList[0]
取得javaBean对象得属性
${news.title}
取得数组 List Map类型对象得元素
${list[0]}
各类运算符对原始数据进行简单处理
${totalRecorodCount/pageSize}简单得意思是${a/b}不要${a}/${b} 错误的
屏蔽一些常见异常
${username}
能实现简单的自动类型转换
${news}相当于(News)request.getAttribute(“news”)
EL取值
${Request.Scope.news}
${session.Scope.username}
${applicationScope.count}
${pageScope.userNum}
都可以缩写成${news}这个它会从这四个作用域里从小到大找 page—>request—>session—>application 依次寻找找到为止没有返回null
JSTL(JavaServerPahes Standard Tag Library)
Jsp标准标签库
实现jsp页面中的逻辑控制
JSTL使用步骤
下载jstl.jar和standard.jar包
http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
将这两个包复制到WEB-INF\lib目录
在Jsp页面中添加指令
核心标签库
<%@taglib url=”http://java.sun.com/jsp/jstl/core” prefix=”c”%>
格式化标签
<%@tabliburl=”http://java.sun.com/jsp/jstl/fmt”prefix=”fmt”%>
常用的