EL表达式   Expression Language

语法${作用域中的值}

使用EL表达式时,需要在page标签中写上isELIgnored="false",否则EL表达式不生效。

EL表达式在底层寻址对象时会加上get并将属性名首字母大写。而且很多java程序在底层寻址对象时都是找到对象的get,set方法并非去找改对象。

EL表达式查询范围:从小范围到大范围,如果不同作用域有同名的变量昵称,以最小的作用域为准。

EL表达式获取普通属性

1.向作用域中添加一个普通属性,

 <% request.setAttribute("uname","李明"); %>

2.使用EL表达式获取作用域的key。

${uname}

EL表达式获取对象属性

1.创建一个对象,将对象写入作用域中。

    <%
    User user=new User();
user.setName("猪猪侠");
user.setAge(16);
%>

2.使用EL表达式获取作用域的key.对象的属性。不需要加get。

${user.name}

EL表达式获取list和map集合

1.创建集合,放入作用域中,

     
<%
     User user=new User();
user.setName("猪猪侠");
user.setAge(16);
User user2=new User();
user2.setName("猪猪侠2");
user2.setAge(19);
List<User> list=new ArrayList<User>();
list.add(user);
list.add(user2);
Map<String,User> map=new HashMap<String, User>();
map.put("一号",user);
map.put("二号",user2);
request.setAttribute("list",list);
request.setAttribute("map",map);
%>

2..EL表达式获取集合属性时为:key[下标].属性名

${ list[1].name}
<br>
${map["二号"].name}

JSTL Java Standard Tag Library (java标准标签库)

使用JSTL需要两个jar包和标签库描述符文件(.tld文件),在java高版本无需引jar,在低版本和非eclipse和myeclipse外的一些软件需要手动引入jar包。

需要使用taglib标签:<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

JSTL可以和EL表达式混合使用

通用标签

set:用于设置指定范围的变量值

<c:set var="变量名" valuue="变量值" scope="作用域名"></c:set>

<c:set var="name" value="二傻" scope="page"></c:set>
${name}

out:计算表达式并将结果输出显示

<c:out value="需要输出的值"></c:out>

如果value写的是set标签中的var,他会看成是四个字母输出,所以需要使用到EL表达式进行混合输出。

<c:set var="name" value="二傻" scope="page"></c:set>
<c:out value="${name}"></c:out>

out输出超链接:

out输出超链接需要用到 escapeXml。

escapeXml有四个取值  true(不对超链接进行转换转义,原模原样输出)  默认值(不对超链接进行转换转义,原模原样输出)  Y(对超链接进行转换转义,解析成一个可以点的超链接)  false(对超链接进行转换转义,解析成一个可以点的超链接)

<c:out escapeXml="false" value="<a href='http://www.baidu.com'>百度</a>"></c:out>

使用true或默认值的结果:

使用Y或false的结果:

JSTL 和 EL的更多相关文章

  1. JS中也可以使用JSTL和EL标签

    //往上滑是调用分页 function Ajax(currPage, pageSize) { // ajax后台交互String currPage,String pageSize var el, Pl ...

  2. JSTL和EL

    JSTL和EL 1.EL表达式总是放在大括号里,而且前面有一个美元符前缀. person.name2.相似点:(1).都可以让我们在静态内蓉中插入动态信息.EL:室外温度是{emp}度 JSP:室外温 ...

  3. JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总

    一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出.       1,JSTL标签总结: a).JSTL标签有什么用?          JSTL是由JCP(Java Commu ...

  4. JSTL、EL、ONGL、Struts标签的区别与使用

     一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...

  5. <Chapter 2>2-2-2-1.介绍JSPs,JSTL,和EL(Introducing JSPs, JSTL, and EL)

    现在,我们的时钟显示了UTC时区的时间.我们希望我们的应用可以让用户自定义时区,并且为将来的访问记住用户的偏好.为了做到这一点,我们使用Google帐户来识别哪个用户正在使用这个应用. 在我们深入了解 ...

  6. JSTL与EL之间的千丝万缕

    一.关于JSTL和EL: 什么是JSTL? JSTL( JSP Standard Tag Library)是JSP标准 标签库,由apache实现. 什么是EL? EL(Expression Lang ...

  7. JSTL与EL常用标签(转)

    JSTL与EL EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程 ...

  8. JAVA学习JSTL与EL

    一.基础 1.EL(Expression Language):为了使jsp写起来更加简单,提供了在Jsp中简化表达式的方法 2.JSTL:(JSP Standard Tag Library)jstl标 ...

  9. Java之旅(三)--- JSTL和EL表情

     先给大家看一段JSP的代码.看看有什么感受? <% List<UsEL> usELList = pageModel.getList(); for (ItELator<Us ...

  10. JSTL和EL的使用

    JSTL和EL的使用 使用JSTL前的准备 想要使用JSTL,首先需要给工程导入JSTL的包(JSTL.jar和standard.jar). JSTL标签库 在JSTL中分为以下五个标签 核心标签 格 ...

随机推荐

  1. MongoDB及Mongoose的记录

    MongoDB是一种NoSQL的文档型数据库,其存储的文档类型都是JSON对象. 在node.js中由于代码都是异步执行,且nosql也没有“事物”这一定义,所以日常使用中很难保证数据库操作的原子性. ...

  2. Django实现文件的上传

    Django实现文件的上传 1.前端页面:使用file对象,读取文件对象传递到views中.需要设定enctype="multipart/form-data",表明不对字符进行编码 ...

  3. 重启rabbitmq服务

    重启rabbitmq服务通过两个命令来实现: rabbitmqctl stop :停止rabbitmq rabbitmq-server restart : 重启rabbitmq 因为rabbitmqc ...

  4. 详解js跨域

    什么是跨域? 概念:只要协议.域名.端口有任何一个不同,都被当作是不同的域. 对于端口和协议的不同,只能通过后台来解决.URL 说明 是否允许通信 http://www.a.com/a.js http ...

  5. HTML5调用手机的Datepicker(日期选择器)

    HTML5 拥有多个新的表单输入类型.这些新特性提供了更好的输入控制和验证,包含了如下新的输入类型: email url number range Date pickers (date, month, ...

  6. C#在SharePoint文档库下动态新增文件夹

    /// <summary> /// 在创建SP文库库下动态新增文件夹 /// </summary> /// <param name="spList"& ...

  7. 【慕课网实战】六、以慕课网日志分析为例 进入大数据 Spark SQL 的世界

    DataFrame它不是Spark SQL提出的,而是早起在R.Pandas语言就已经有了的.   A Dataset is a distributed collection of data:分布式的 ...

  8. 简单的JavaScript图像延迟加载库Echo.js

    插件描述:和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQu ...

  9. entity framework 上下文对象跟踪相关

    entity framework 上下文对于对象的跟踪有2中方式进行控制,第一种从数据库查询但不加载到上下文. 这里可以用到.AsNoTracing()方法. 这里用到的是实体(entity)在上下文 ...

  10. c++中二级指针的使用场景

    二级指针的使用场景如下: 1.主要用来为指针变量分配内存空间: void GetMemory(char **p) { *p = ]; } 函数调用方式: char *str = NULL; GetMe ...