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的结果:

最新文章

  1. 示例开发过程记录:meteor,react,apollo
  2. 原因是出现以下错误: 80040154 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  3. 【原创译文】基于Docker和Rancher的超融合容器云架构
  4. Fixflow引擎解析(五)(内核) - 基于Token驱动的引擎内核运转原理
  5. DDL 和DML 区别
  6. W5100使用中的常见问题
  7. 【6】和作为连续序列s
  8. Flex 数据绑定
  9. Idea+maven+tomcat部署第一个tomcat项目
  10. Markdown语法及SublimeText下使用技巧
  11. select下拉框可以直接取list里的内容 不用非得转map (不得不承认我是个ZZ,这么简单的问题才反应过来,--^--)
  12. 解决yum安装ftp提示仓库 的 GPG 密钥已安装,但是不适用于此软件包。
  13. Spring Security之Remember me详解
  14. Matlab 沿三维任意方向切割CT图的仿真计算
  15. 如何学习 JavaScript?
  16. iOS LLDB调试精解
  17. UIView使用UIMotionEffect效果
  18. bcd引导Ubuntu
  19. Git学习-->GitLab如何修改时区?
  20. 线性DP POJ 1159 Palindrome

热门文章

  1. 1,charles的功能能介绍和安装破解
  2. https及证书
  3. sql server 2008 64位连接sql 2000服务器的时候出现
  4. chrome gps位置模拟设置
  5. jquery学习总结1-12
  6. 非交互式一句话添加root用户
  7. java注解的实质,何为注解
  8. 关闭iptables服务及命令行连接wifi及locale设置
  9. jasperreports实现pdf文档的生成
  10. python 特别的生成器表达式