EL和JSTL

EL表达式的基本格式由 $ 与{}组成,

例如:${user.name} 即其意思就是查询得到user对象中的name属性的值.(即调用的是getName方法)

如果仅使用EL表达式的话则不需要导包,但需要在作用域中去取值。
该作用域可以是 其范围由小到大依次是 page(页面上下文对象) request(一次请求对象) session(会话期间对象) application(程序应用对象) 。
访问规则: 当容器解析到当前EL表达式时,会依次从pageScope,requestScope,
sessionScope以及applicationScope当中取值,查找绑定名为user的对象,调用其getName方法。
EL表达式如果获取到null值,会自动把null值转换为空字符串输出。

EL的四个范围和JSP的四个范围对应,分别为pageContextScope、requestScope、sessionScope,applicationScope
Object value = null;
value = pageContext.getAttribute(key);
if(value==null){
       value = request.getAttribute(key);
       if(value==null){
             value = session.getAttribute(key);
              if(value == null){
                     value = application.getAttribute(key);
                      if(value==null){
                             value= "";
                      }
              }
       }
}
return value;

当没有指定作用域,则默认取值依次从小到大来取

<%
List list=new ArrayList();
list.add(1);
request.setAttribute("list", list);
request.setAttribute("a", "");
request.setAttribute("b", null);
%>
${empty list }  其结果为false
${empty a } 其结果为 true
${empty b } 其结果为 true
${empty user}其结果为false

JSTL:(JSP Standard Tag Library) JSP标准标签库


第一步:引入jstl.jar以及 standard.jar两个架包注:在javaEE5.0以上的版本不需要引入这两个架包,因为在javaEE5.0以上的版本已经包含了这两个架包。
将jstl.jar和standard.jar两个包考到现有工程 WEB-INF / lib 目录下

第二步: 使用taglib指令导入要使用的JSP标签 <%@taglib uri="" prefix="" %>

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

uri:JSP标签的命名空间
prefix:命名空间的前缀(简称)

第三步: 使用常见的标签

1 if标签

< c:if test= "" var = "" scope= "" >
标签体的内容
</c:if >

注: test中传入的只能是boolean值,如果值为false则不执行标签体,为true
则执行标签体。
var :代表当前test表达式的结果。
scope:指test表达式执行的结果绑定范围

2 choose标签

<c : choose >
<c:when test =""></c : when>
...
<c : otherwise></c : otherwise>
</c : choose >

注:when可以出现一次以上,当test属性为true时,会执行标签体的内容otherwise只能出现0或1次。

3 foreach标签

<c:foreach items="" var="" varStatus="s">

</c:foreach>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值