JSTL 和 EL
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的更多相关文章
- JS中也可以使用JSTL和EL标签
//往上滑是调用分页 function Ajax(currPage, pageSize) { // ajax后台交互String currPage,String pageSize var el, Pl ...
- JSTL和EL
JSTL和EL 1.EL表达式总是放在大括号里,而且前面有一个美元符前缀. person.name2.相似点:(1).都可以让我们在静态内蓉中插入动态信息.EL:室外温度是{emp}度 JSP:室外温 ...
- JSTL标签,EL表达式,OGNL表达式,struts2标签 汇总
一下纯属个人总结摘抄,总结一起方便查看,解决疑问,有遗漏或错误,还请指出. 1,JSTL标签总结: a).JSTL标签有什么用? JSTL是由JCP(Java Commu ...
- JSTL、EL、ONGL、Struts标签的区别与使用
一.JSTL 来源 我们使用JSP开发信息展现非常方便,也可嵌入java代码用来实现相关逻辑,但同样带来了很多问题: jsp维护难度增加 出事提示不明确,不容易提示 分工不明确等 解决上面的问题可以 ...
- <Chapter 2>2-2-2-1.介绍JSPs,JSTL,和EL(Introducing JSPs, JSTL, and EL)
现在,我们的时钟显示了UTC时区的时间.我们希望我们的应用可以让用户自定义时区,并且为将来的访问记住用户的偏好.为了做到这一点,我们使用Google帐户来识别哪个用户正在使用这个应用. 在我们深入了解 ...
- JSTL与EL之间的千丝万缕
一.关于JSTL和EL: 什么是JSTL? JSTL( JSP Standard Tag Library)是JSP标准 标签库,由apache实现. 什么是EL? EL(Expression Lang ...
- JSTL与EL常用标签(转)
JSTL与EL EL相关概念 JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程 ...
- JAVA学习JSTL与EL
一.基础 1.EL(Expression Language):为了使jsp写起来更加简单,提供了在Jsp中简化表达式的方法 2.JSTL:(JSP Standard Tag Library)jstl标 ...
- Java之旅(三)--- JSTL和EL表情
先给大家看一段JSP的代码.看看有什么感受? <% List<UsEL> usELList = pageModel.getList(); for (ItELator<Us ...
- JSTL和EL的使用
JSTL和EL的使用 使用JSTL前的准备 想要使用JSTL,首先需要给工程导入JSTL的包(JSTL.jar和standard.jar). JSTL标签库 在JSTL中分为以下五个标签 核心标签 格 ...
随机推荐
- 《笨方法学Python》加分题29
加分练习猜一猜 “if 语句” 是什么,他有什么作用.在做下一道题之前,试着用自己的话回答下面的问题: 你认为 if 对他下一行代码做了什么?为什么 if 语句的下一行需要 4 个空格缩进?如果不缩进 ...
- HDU2035
#include <bits/stdc++.h> using namespace std; int fastpow(int a,int b,int k) { ; while(b) { ) ...
- weblogic中配置数据源
Weblogic数据源配置 一.配置数据源 1.点击数据源,进入数据源配置页面,点击新建后选择一般数据源 2.输入名称和jndi名称(两个输入一样即可)后点击下一步 3.选择驱动后点击下一步 4.输入 ...
- 《修炼之道:.NET开发要点精讲》读书笔记(一)
CLR 公共语言运行库 没有CLR的存在,就不能讲该中间件转换成对应操作系统中的机器指令. 程序集是非完全编译的产物,它兼备了源代码和本地代码的特性,是一种介于源代码和本地代码之间的独立存在的一种数据 ...
- 在struts.xml中配置默认action遇到的问题
初始代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC & ...
- C/C++中volatile关键字详解
1. 为什么用volatile? C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量,通常用于建立语言级别的 memory barrier.这是 BS 在 "The ...
- Java程序设计(第二版)复习 第三章
数组的使用 首先定义,然后用new生成数组,最后通过下标访问 定义 此时只是引用还未分配内存空间,需要使用new去分配内存空间,否则是无法被访问的 定义的两种方法:数据类型 数组名[];数据类型 [] ...
- Python连接oracle数据库的基本操作
1,创建数据库连接connect和关闭数据库连接close 1.1 创建数据库连接的三种方式: 方法一:用户名.密码和监听分开写 import cx_Oracle db=cx_Oracle.conne ...
- Android事件处理的三种方法
一.基于监听 setOnClickListener,setOnLongClickListener.setOnTouchListener 注意:如果onTouchEvent方法return true,则 ...
- python操作Redis安装、支持存储类型、普通连接、连接池
一.python操作redis安装和支持存储类型 安装redis模块 pip3 install redis 二.Python操作Redis之普通连接 redis-py提供两个类Redis和Strict ...