EL+JSTL

mac2022-06-30  32

EL1.EL(Expression Language) JSP脚本代码:结构混乱,脚本与HTML混合,容易出错代码不易于维护。 为了解决这些问题推出了EL表达式.使用EL表达式来优化程序代码,增加程序可读性。2.EL表达式的作用: 1.获取域中数据(重点) 2.执行运算(重点) 3.获取web常用对象(重点) 4.调用java方法(了解) 例: 取得JavaBean对象的属性 ${news.title} 取得数组、List、Map类型对象的元素 ${list[0]} 使用各类运算符对原始数据进行简单处理 ${totalRecordCount/pageSize} 屏蔽一些常见的异常 ${username} 能实现简单的自动类型转换 $ {news}相当于(News)request.getAttribute("news") 3.语法: EL表达式(Expression Language) ${EL 表达式} 例如:${username} EL操作符 操作符“.” 获取对象的属性,例如:${news.title} 操作符“[]” 获取对象的属性,例如:${news["title"]} 获取集合中的对象,例如:${newsList[0]}

EL严格区分大小写,初学者严格按规范书写,有利于养成好的编码习惯4.El表达式获取域中数据(访问作用域) 使用jsp中使用小脚本获取servlet传送过来数据内容   <%=request.getAttribute("rname")%>   <%=pageContext.getAttribute("pname")%>   <%=session.getAttribute("sname")%>   <%=application.getAttribute("aname")%> 使用El表达式接受Servlet传送过来数据内容   ${requestScope.rname} 等同于${rname} //请求作用域   ${pageScope.pname} //页面作用域   ${seesionScope.sname} //会话作用域   ${applicationScope.aname} //程序作用域

通过request的.getSession()方法.setAttribute()方法设置session的内容 5.EL四个域对象及生命周期 request 域范围是整个请求链 application 域范围是整个应用 session:域范围是整个会话 pageContext:域范围是一个jsp页面

6.EL运算符 ( )                  改变执行的优先级,   例如${3*(4+5)} +,-,*,/,%              算术运算符,                例如${3+2} ==,!=,>,>=,<,<= 关系运算符,              例如${a==b}或${a eq b} &&,||,!                 逻辑运算符,             例如${true&&false} ?:                        条件运算符,             例如${a>b?1:2} empty 用于检测变量名是否为空,是否等于NULL,例如${empty name}empty有两个作用 1.判断是否为null 2.判断容器是否为null或者长度是否为0EL在做多个对象运算时,要全写在一个{}内${ param.password1 == param.password2 } √${param.password1} == ${param.password2} ×${ ${param.password1 } == ${ param.password2 } } ×

JSTL 1.JSTL(Java Page Standard Tag Library),JSP标准标签库。 该库包含了一系列开发JSP时用到的一系列标准标签。 Jstl标签库一共包含了四大标签库 core:核心标签库,重点 fmt:格式化标签库,两个主要标签 sql:数据库标签库,已过时 xml:xml标签库,已过时

2.配置环境

导入jar包jstl.jar和stand.jar包

在使用标签的jsp页面中使用taglib指令导入标签库。 指定标签库的uri,它不一定是真实存在的网址,但它可以让JSP找到标 签库的描述文件。 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> 如果是1.0版本以下去掉jsp 3.Jstl核心标签   JSTL core标签库中 12个标签 1、c:out 输出内容到浏览器端  是否显示转义 2、c:set 设置值到四种数据范围,设置四个范围中java对象的一个属 性值 3、c:remove 用来删除四个数据范围的数据 4、c:catch 捕获程序异常   5、c:if 取代页面中if条件语句,记住没有c:else 5}"> 6、c:choose c:when c:otherwise 一起使用 ,取代if elseif else 结构 、switch-case 结构 7、c:forEach 取代页面中for循环 8、c:forTokens 切割字符串 9、c:import 效果和include类似 10、c:url 完成URL重写 (禁用cookie的session追踪 ) ---- 结合 c:param完成 中文URL forEach的属性    begin属性  :设置循环变量从几开始       end属性:   设置循环变量到几结束;            step属性:设置循环变量的步长     var属性:定义一个变量,用于接收循环或把数组或集合中遍历的每一个元素 赋值给var指定的变量     varStatus属性:就是用来记录循环状态的,它可以创建一个循环vs,该循环变量有如下属性:                    count:用来记录循环元素的个数;                   index:用来记录所循环元素的下标;                   first:判断当前循环的元素是否是第一个元素;                   last:判断当前循环的元素是否是最后一个元素;                   current:代表当前循环的元素。         items属性:指定要循环的变量,可以是一个数组也可以是一个集合,默认是支 持EL表达式       

 

转载于:https://www.cnblogs.com/jiayiblog/p/10987619.html

相关资源:EL&JSTLjar.zip
最新回复(0)