EL表达式

来源:互联网 发布:姚明02数据统计 编辑:程序博客网 时间:2024/05/22 01:33
表达式语言(Expression Language,EL)

百度百科:el 表达式

EL  表达式内置对象
             表达式内置对象         说明
1          pageContext               表示 javax.servlet.jsp.PageContext  对象
2          pageScope                 表示从 page  属性范围查找输出属性
3          requestScope            表示从 request  属性范围查找输出属性
4          sessionScope           表示从 session  属性范围查找输出属性
5          applicationScope      表示从 从application 属性范围查找输出属性
6          param                          接收传递到本页面的参数
7          paramValues             接收传递到本页面的一组参数
8          header                         取得一个头信息数据
9          headerValues            取出一组头信息数据
10        cookie                         取出 cookie  中的数据
11        initParam                   取得配置的初始化参数


el1.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><%pageContext.setAttribute("info1","page");request.setAttribute("info2","request");session.setAttribute("info3","session");application.setAttribute("info4","application");%><h1>${info1 }</h1><h1>${info2 }</h1><h1>${info3 }</h1><h1>${info4 }</h1></body></html>
  

EL  表达式访问 4  种范围属性
表达式语言(Expression Language,EL)
百度百科:el 表达式
寻找值的顺序:page->request->session->application

表示会按从小到大的顺序取值

<%pageContext.setAttribute("info1","page");request.setAttribute("info1","request");session.setAttribute("info1","session");application.setAttribute("info1","application");%>

<h1>${info1 }</h1>

只会显示page


info.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><form action="el2.jsp" method="post"><input type="text"  name="name"/><input type="submit" value="提交到el2.jsp"></form></body></html>

el2.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><%request.setCharacterEncoding("utf-8"); %><h1>姓名:${param.name }</h1></body></html>

paramValues

<form action="el2.jsp" method="post"><input type="checkbox" name="hobby" value="篮球"/>篮球<input type="checkbox" name="hobby" value="足球"/>足球<input type="checkbox" name="hobby" value="乒乓球"/>乒乓球<input type="submit" value="提交到el2.jsp">

<h1>爱好1:${paramValues.hobby[0] }</h1><h1>爱好2:${paramValues.hobby[1] }</h1><h1>爱好3:${paramValues.hobby[2] }</h1>

EL表达式对象操作

package com.ruanku.model;public class Student {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="com.ruanku.model.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><%Student cc = new Student();cc.setAge(22);cc.setId(1);cc.setName("陈晨");request.setAttribute("cc",cc);%><h1>年龄是:${cc.age }</h1><h1>编号是:${cc.id }</h1><h1>名字是:${cc.name}</h1></body></html>

集合

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="java.util.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Insert title here</title></head><body><%List all=new LinkedList();all.add(0, "元素一");all.add(1, "元素二");all.add(2, "元素三");request.setAttribute("all",all);%><h1>${all[0] }</h1><h1>${all[1] }</h1><h1>${all[2]}</h1></body></html>

EL表达式运算符操作

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ page import="java.util.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%request.setAttribute("num1",10);request.setAttribute("num2",3);request.setAttribute("flag1",true);request.setAttribute("flag2",false);%><h1>算数运算符</h1><h2>num1=${num1 },num2=${num2 }</h2><h2>num1+num2=${num1+num2 }</h2><h2>num1-num2=${num1-num2 }</h2><h2>num1*num2=${num1*num2 }</h2><h2>num1/num2=${num1/num2 }</h2><h2>num1%num2=${num1%num2 }</h2><h2>num1*(num1-num2)=${num1*(num1-num2) }</h2><h1>关系运算符</h1><h2>flag1=${flag1 },flag2=${flag2 }</h2><h2>与操作flag1 && flage2:${flag1 && flage2 }</h2><h2>或操作flag1 || flage2:${flag1 || flage2 }</h2><h2>非操作!flag1:${!flag1}</h2><h1>三目运算符</h1><h2>三目操作:num1>num2:${num1>num2?"yes":"no" }</h2><h1>empty关键字</h1><h2>判断空操作:${empty a }</h2></body></html>


0 0
原创粉丝点击