EL&JSTL

EL表达式

	简化jsp里的java代码
	格式:${表达式}

例1:

//存值
<% pageContext.setAttribute(“name”,“page”);%>
//按普通方法取值
<%= pageContext.getAttribute(“name”)%>
//使用EL表达式取出作用域中的值
${ pageScope.name} -------//到这个作用域里找这个name
${name}-------//先在page里找,没有去request里找,去session,去application
例2:取数组
<%
String[] a = {“a”,“b”,“c”};
pageContext.setAttribute(“array”,a);
%>
//EL表达式取出作用域中数组的值
${array[0]}, ${array[1]}, ${array[2]}

例3:取集合(同数组)

<%
List.list = new ArrayList();
list.add(“11”);
list.add(“22”);
list.add(“33”);
pageContext.setAttribute(“li”,list);
%>
//EL表达式取集合中的数据
${li[0]}, ${li[0]}, ${li[0]}

例4:Map

<%
Map map = new HashMap();
map.put(“name”,“zhangsan”);
map.put(“age”,16);
map.put(“address”,“北京”);
pageContext.setAttribute(“li”,list);
%>
EL表达式取出作用域中Map的值
${map.name"}, ${map.age"}, ${map.address"}
//特殊情况
<%map.put(“address.aa”,“深圳”)%>
EL取值
${map["address.aa "]}

例4:
已经在一个名为User的java类中设置了name和age的成员变量

<%
User user = new User(“zhangsan”,18);
session.setAttribute(“u”,user);
%>
RL取值
${ u.name }, ${ u,age }

11个内置对象

  • pageContext --------${ 对象名.成员 }
  1. 作用域相关对象
  • pageScope
  • requestScope
  • sessionScope
  • applicationScope
  1. 头信息相关对象
  • header

  • headerValues

    4.参数信息相关对象

  • param

  • paramValues

  • cookie
  1. 全局初始化
  • initParam

JSTL

	JSP Standard Tag Library
	JSP标准标签库,一个不断完善的开源代码的JSP标签库
	简化jsp代码,替换<%%>写法,一般与EL表达式配合
  • 引入标签库
  1. 导入jar文件到工程的WebContent/Web-Inf/lib jstl.jar standard.jar
  2. 在jsp界面上,使用taglib指令,来引入标签库
    <% taglib prefix=“c " uri=”" %>
  3. 1.1版本支持EL表达式,1.0版本不支持

常用标签

  • c:set
    声明一个对象name,对象的值为zhangsan,存储到了page(默认),指定是session

<c:set var=“name” value=“zhangsan” scope=“session”></c:set>
${sessionScope.name }

  • c:if
    判断test里面的表达式是否满足,如果满足,就执行c:if标签中的输出,c:if是没有else的

<c:set var=“age” value=“17”></c:set>
<c:if test="${ age > 12 }">年龄大于12岁</c:if>

定义一个变量名flag去接收前面表达式的值,然后存到session域中

<c:if test="${ age < 22 }" var=“flag” scope=“session”>年龄小于22</c:if>
${sessionScope.flag }
//输出为true

  • c:forEach
    从1遍历到10,得到的结果赋值给i,并且会存储到page域中,stap表示增幅为1

<c:if test="${ age < 22 }" var=“flag” scope=“session”>年龄小于22</c:if>
${sessionScope.flag }

遍历一个对象,items中写EL表达式,遍历出来的每一个元素用user接收

<%
List list = new ArrayList();
list.add(new User(“zhangsna”,12));
list.add(new User(“zouyi”,15));
list.add(new User(“guoer”,13));
list.add(new User(“anwu”,18));
pageContext.setAttribute(“list”, list);
%>
<c:forEach var=“user” items="${list }">
u s e r . n a m e − − − − − {user.name }----- user.name{user.age }
</c:forEach>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值