实例解析JSP中EL表达式的各种运用

EL运算符:

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.sql.*" %>


  
    El算数运算符
  
  
    
算数运算符 结果
加法运算符\${1 + 1} 结果${1+1}
减法运算符\${1 - 1} 结果${1-1}
乘法运算符\${1 * 2} 结果${1 * 1}
除法运算符\${3 / 2} 结果${3 / 2}
求余运算符\${3 % 2} 结果${3 % 2}
关系运算符 结果
等于运算符\${1 == 1} 结果${1==1}
不等于运算符\${1 != 1} 结果${1!=1}
小于运算符\${1 < 2} 结果${1 < 2}
大于运算符\${3 > 2} 结果${3 > 2}
小于等于运算符\${1 <= 2} 结果${1 <= 2}
大于等于运算符\${3 >= 2} 结果${3 >= 2}
逻辑运算符 结果
逻辑运算符&&
\${true && true} 结果${true && true}
\${true && false} 结果${true && false}
\${false && false} 结果${false && false}
逻辑运算符||
\${true || true} 结果${true || true}
\${true || false} 结果${true || false}
\${false || false} 结果${false || false}
逻辑运算符!
\${!true} 结果${!true}
\${!false} 结果${!false}
条件运算符 结果
\${2>1?"Yes":"No"} 结果${2>1?"Yes":"No"}
\${2<1?"Yes":"No"} 结果${2<1?"Yes":"No"}
验证运算符 结果
\${empty param.username} 结果${empty param.username}
\${empty param.password} 结果${empty param.password}
括号运算符及运算符的优先级 结果

EL处理内置对象:
“.”和"[]"符号是用来存取数据的

${applicationScope.user.username}

${applicationScope.user[0].username}

${applicationScope.user["user-name"]}

通过变量来传值就必须使用[]

${applicationScope.user["data"]}

与存储有关的内置对象



  
    与存储有关的内置对象
  
  
    <%
      //application范围设置属性name,值为application_name
      application.setAttribute("name","application_name");
      //session范围设置属性name,值为session_name
      session.setAttribute("name","session_name");
      //request范围设置属性name,值为request_name
      request.setAttribute("name","request_name");
      //page范围设置属性name,值为page_name
      pageContext.setAttribute("name","page_name");
    %>
    <%--获取page范围内的name属性--%>
    page范围内的那么属性的值为:${pageScope.name}
<%--获取request范围内的name的属性--%> request范围内的那么属性的值为:${requestScope.name}
<%--获取session范围内的name的属性--%> session范围内的那么属性的值为:${sessionScope.name}
<%--获取application范围内的name属性--%> application范围内的那么属性的值为:${applicationScope.name}

与输入有关的内置对象



  
    用户表单
  
  
    
用户名:
密码:
姓名:
性别:
爱好:
打篮球
看书
旅行
编程
接收用户参数 <% //设置页面编码格式 request.setCharacterEncoding("gb2312"); %> <%--接收用户参数--%> 用户名:${param.username}
密码:${param.password}
姓名:${param.name}
性别:${param.sex}
爱好:${paramValues.interest[0]} ${paramValues.interest[1]}

cookie内置对象



  
    设置cookie的值
  
  
    <%
      //设置cookie的值
      Cookie c = new Cookie("username","root");
      //添加cookie到客户端
      response.addCookie(c);
    %>
    显示cookie的值
  


<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    取得cookie的值
  
  
    cookie中的username的值为:${cookie.username.value}
  


header内置对象



  
    取得header的值
  
  
    ${header["host"]}
${header["user-agent"]}

initParam内置对象:获取web站点中设置的环境变量

<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    获得环境参数
  
  
    username参数值:${initParam.username}
username Zhangdapeng

pageContex内置对象
用来取得有关用户请求和页面的详细信息

<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    pageContext演示
  
  
    
取得请求的参数的字符串 ${pageContext.request.queryString}
取得请求URL ${pageContext.request.requestURL}
取得web应用名称 ${pageContext.request.contextPath}
取得HTTP请求方式(POST/GET) ${pageContext.request.method}
取得使用的协议 ${pageContext.request.protocol}
取得用户IP地址 ${pageContext.request.remoteAddr}
判断session是否为新 ${pageContext.session.new}
取得session的id ${pageContext.session.id}

EL存取器:
使用存取器读取JavaBean中的数据

package com.javaweb.ch08;
import java.util.*;
//一个简单的JavaBean示例
public class Person{
  //name属性
  private String name;
  //age属性
  private int age;
  //sex属性
  private String sex;
  //friends属性
  private ArrayList friends;
  //无参构造方法
  public Person(){
  }
  //自定义构造的方法
  public Person(String name,int age,String sex){
    this.name = name;
    this.age = age;
    this.sex = sex;
  }
  //获取name的属性值
  public String getName(){
    return name;
  }
  //获取age属性值
  public int getAge(){
    return age;
  }
  //获取sex的属性值
  public String getSex(){
    return sex;
  }
  //设置name的属性
  public void setName(String name){
    this.name = name;
  }
  //设置age的属性值
  public void setAge(int age){
    this.age = age;
  }
  //设置sex的属性值
  public void setSex(String sex){
    this.sex = sex;
  }
  //设置friends的值
  public void setFriends(ArrayList friends){
    this.friends = friends;
  }
  //获取friends的属性值
  public ArrayList getFriends(){
    return friends;
  }
}

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*,com.javaweb.ch08.*" %>


  
    设置JavaBean中的属性
  
  
    <%
    //实例化一个Person
    Person person = new Person("zhangdapeng",24,"男");
    //创建一个friends实例
    ArrayList friends = new ArrayList();
    //添加值
    friends.add("wang wu");
    friends.add("li si");
    person.setFriends(friends);
    //存储在session范围内
    session.setAttribute("person",person);
     
    %>
    跳转到GetJavaBean.jsp
  


<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    取得JavaBean中的属性值
  
  
    姓名:${sessionScope.person.name}
年龄:${sessionScope.person.age}
性别:${sessionScope.person.sex}
朋友:${sessionScope.person.friends[0]},${sessionScope.person.friends[1]}

使用存储器读取Map中的数据

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*,com.javaweb.ch08.*" %>


  
    设置Map页面
  
  
    <%
      //新建一个HashMap
      HashMap userInfo = new HashMap();
      //在HashMap中设置值
      userInfo.put("username","zhangdapeng");
      userInfo.put("password","zhnagda123");
      //将值存储到session范围中
      session.setAttribute("userInfo",userInfo);
       
    %>
    跳转到GetMapDemo.jsp
  


<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    使用存储器读取map中的数据
  
  
    用户名:${sessionScope.userInfo.username}
密码:${sessionScope.userInfo.password}

使用存储器读取数组中的数据

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*,com.javaweb.ch08.*" %>


  
    设置Array页面
  
  
    <%
      String[] names = {"zhangda1","zhangda2","zhangda3"};
      //将值存储到session范围中
      session.setAttribute("names",names);
       
    %>
    跳转到GetArrayDemo.jsp
  


<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    使用存储器读取map中的数据
  
  
    用户名1:${sessionScope.names[0]}
用户名2:${sessionScope.names[1]}

存储器的复杂应用

<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@page import="java.util.*,com.javaweb.ch08.*" %>


  
    设置Array页面
  
  
    <%
      ArrayList persons = new ArrayList();
       
      Person person1 = new Person("wang wu",24,"男");
      Person person2 = new Person("wang liu",24,"女");
       
      persons.add(person1);
      persons.add(person2);
       
      session.setAttribute("persons",persons);
       
    %>
    跳转到GetArrayDemo.jsp
  


<%@page language="java" contentType="text/html;charset=gb2312"%>


  
    使用存储器读取map中的数据
  
  
    用户名1:${sessionScope.persons[0].name},${sessionScope.persons[0].age},${sessionScope.persons[0].sex}
用户名2:${sessionScope.persons[1].name},${sessionScope.persons[1].age},${sessionScope.persons[1].sex}

你可能感兴趣的:(实例解析JSP中EL表达式的各种运用)