Jsp中的EL表达式
2015-10-09 21:12
597 查看
问题?EL表达式是什么?作用是做什么
定义:EL(Expression)表达式
它只是JSP中的表达式,不是一种开发语言。
基本语法:${EL表达式}
1.获取数据
*****EL表达式只能获取四大域中的数据。
EL表达式获取的对象如果是null,页面不会显示数据。因此,EL表达式中永远不会出现空指针异常
p.name:调用域中名称为p对象的getName方法,点运算符是用于获取属性的取值的。
.运算符:
[]运算符:.运算符能做的,[]也能做。[]能做的,.不一定能做。
比如${p.name}===${p['name']}==${p["name"]}
优秀在可以取不符合Java命名规范的东东。
2.数学逻辑运算:
empty运算符:如果判断的对象是null或者空字符串,都返回true。对于集合,即使集合对象本身不是null,没有任何元素,也返回true。
三元表达式的使用(在开发中经常用,特别是session用户登陆)
EL表达式不支持字符串连接操作。
例子:
Bean类
adress类
jsp
定义:EL(Expression)表达式
它只是JSP中的表达式,不是一种开发语言。
基本语法:${EL表达式}
1.获取数据
*****EL表达式只能获取四大域中的数据。
EL表达式获取的对象如果是null,页面不会显示数据。因此,EL表达式中永远不会出现空指针异常
p.name:调用域中名称为p对象的getName方法,点运算符是用于获取属性的取值的。
.运算符:
[]运算符:.运算符能做的,[]也能做。[]能做的,.不一定能做。
比如${p.name}===${p['name']}==${p["name"]}
优秀在可以取不符合Java命名规范的东东。
2.数学逻辑运算:
empty运算符:如果判断的对象是null或者空字符串,都返回true。对于集合,即使集合对象本身不是null,没有任何元素,也返回true。
三元表达式的使用(在开发中经常用,特别是session用户登陆)
<body> <jsp:useBean id="p" class="com.dp.javaweb.domain.bean"></jsp:useBean> <h1>empty判断是否存在域对象</h1> ${empty p }<br/><!-- 判断对象是否为空对象,无对象返回true --> ${empty "" }<br/> <% List list=new ArrayList(); list.add("343");//如果没有加东西,则可以判断是空对象 pageContext.setAttribute("list", list); %> ${empty list } <hr/> <h1>三元表达式的使用</h1> <% session.setAttribute("user", "Mr_li13"); %> ${empty user?"请登录":"欢迎您:" }${user}<br/> <%pageContext.setAttribute("s","1") ;%> ${s=="0"?"女":"男" } </body>
EL表达式不支持字符串连接操作。
例子:
Bean类
package com.dp.javaweb.domain; import java.io.Serializable; import java.util.Date; public class bean implements Serializable{ //80%的类都实现这个接口,虽然并不是都用,但是养成良好的习惯是好的 private String username="sssss"; private String password; private boolean marry; private Date birthday; private Adress adress=new Adress(); public Adress getAdress() { return adress; } public void setAdress(Adress adress) { this.adress = adress; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public bean() { // TODO Auto-generated constructor stub } public bean(String username, String password, boolean marry, Date birthday, Adress adress) { super(); this.username = username; this.password = password; this.marry = marry; this.birthday = birthday; this.adress = adress; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public boolean isMarry() {//is和get是一样的 return marry; } public void setMarry(boolean marry) { this.marry = marry; } }
adress类
package com.dp.javaweb.domain; public class Adress { private String city="桐梓"; public String getCity() { return city; } public void setCity(String city) { this.city = city; } }
jsp
<%@page import="com.dp.javaweb.domain.bean"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP '1.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <jsp:useBean id="p" class="com.dp.javaweb.domain.bean"></jsp:useBean> <h1>获取属性值及其类对象的属性</h1> <%=p.getUsername() %> ${p.adress.city }<!-- 取bean类中的属性类的对象的属性值时注意是否实例化 --> ${p.username } ${p['username'] }<!-- 另一种方式 --> <h2>获取数组</h2> <% String a[]={"w","w1"}; pageContext.setAttribute("a",a);//将对象设置到page域中 %> ${a[1] } <h3>获取list</h3> <% List list=new ArrayList(); list.add("1"); list.add("2"); list.add("3"); pageContext.setAttribute("list", list); %> ${list[1]} <h4>Map的值</h4> <% Map map=new LinkedHashMap(); map.put("a", "a1"); map.put("b", "b1"); map.put("c", "c1"); pageContext.setAttribute("map",map); %> ${map.a } </body> </html>结果:
相关文章推荐
- {welcome to JS} 处理图像(翻转器)
- javaScript在私有的属性和方法
- Selenium+PhantomJS 爬取页面
- 纯JS实现fadeIn 和fadeOut
- javascript常用数组算法总结
- 10道javascript笔试题
- JS页面间传值
- JavaScript 面向对象之构造函数+成员函数详解
- iframe父子页面间通信总结
- 经典JavaScript正则表达式实战
- 一个通用的js动画函数
- js 循环json
- js如何去掉字符串中所有的逗号
- 异常:org.json.JSONException: End of input at character 0 of
- 关于使用json库造成的内存泄露问题
- video.js的应用
- JSP有三大指令
- jsoncpp 构造空数组
- JSONP理解和使用
- 2 JSP/SERVLET入门教程--Servlet 使用入门