JPS脚本
1、代码结构混乱
2、脚本与HTML混合,容易出错
3、代码不易维护
EL表达式优化程序代码,增加程序可读性
EL表达式EL操作符获取对象属性,例如{news.title}
操作符
获取对象的属性,例如${news.[“title”]}
获取集合中的对象,例如newsList[0]
EL严格区分大小写
EL功能
取得JavaBean对象的属性
news.title取得数组、List、Map类型对象的元素{list[0]}
使用各类运算符对原始数据进行简单处理
totalRecordCount/pageSize屏蔽一些常见的异常{username}
能实现简单的自动类型转换
${news}相当于(News)request.getAttribute(“news”)
request.setAttribute("news",news);
//两种取数据的方式
Java小脚本request.getAttribute("news")
使用EL表达式${news}或者${requestScope.news}
作用域 Java代码取值 EL取值
请求作用域 request.getAttribute("news"); ${requestScope.news}
会话作用域 session.getAttribute("username"); ${sessionScope.username}
程序作用域 application.getAttribute("count"); ${applicationScopre.count}
页面作用域 pageContext.getAttribute("username"); ${pageScope.userNum}
不写作用域会从四个作用域从小到大寻找作用域存放的属性直到找到为止
JSTL
在JSP页面中添加指令
<%@taglib uri=”http://java.sun.com/jsp/jstl/core”prefix=”c”%>
<%@taglib uri=”http://java.sun.com/jsp/jstl/fmt”prefix=”fmt”%>
如果要在Tomcat用的话需要导jar包
JSTL标签
标签库名称 资源标示符(uri)
<c:out/> 输出文本内容到out对象,常用语显示特殊字符,显示到默认值
<c:set/> 在作用域中设置变量或对象的属性
<c:remove/> 在作用域中移除变量的值
<c:if/> 实现条件判断结构
<c:forEach/> 实现循环结构
<c:url/> 构造url地址
<c:param/> 在url后附加参数
<c:import/> 在页面中嵌入另一个资源内容
<c:formatDate/> 格式化时间
<c:formatNumber/> 格式化数字