乐码库:一个极速、放心、纯净的下载站! 更新: 资源发布
  • 您的位置:首页 > 技术文档 > JSP编程 > 实例解析JSP中EL表达式的各种运用
  • 收藏本页
      实例解析JSP中EL表达式的各种运用
      发布时间:2016-11-08 05:20:31 关键词: JSP,EL表达式,EL
      内容简介:这篇文章主要介绍了JSP中EL表达式的各种运用,比如用EL处理数学运算、内置对象以及数据的存取等,代码示例都相当实用,需要的朋友可以参考下

    EL运算符:

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <%@page import="java.sql.*" %>
    <!DOCTYPE html>
    <html>
      <head>
        <title>El算数运算符</title>
      </head>
      <body>
        <table border=1>
          <tr>
            <td>算数运算符</td>
            <td>结果</td>
          </tr>
          <tr>
            <td>加法运算符\${1 + 1}</td>
            <td>结果${1+1}</td>
          </tr>
          <tr>
            <td>减法运算符\${1 - 1}</td>
            <td>结果${1-1}</td>
          </tr>
          <tr>
            <td>乘法运算符\${1 * 2}</td>
            <td>结果${1 * 1}</td>
          </tr>
          <tr>
            <td>除法运算符\${3 / 2}</td>
            <td>结果${3 / 2}</td>
          </tr>
          <tr>
            <td>求余运算符\${3 % 2}</td>
            <td>结果${3 % 2}</td>
          </tr>
        </table>
        <table border=1>
          <tr>
            <td>关系运算符</td>
            <td>结果</td>
          </tr>
          <tr>
            <td>等于运算符\${1 == 1}</td>
            <td>结果${1==1}</td>
          </tr>
          <tr>
            <td>不等于运算符\${1 != 1}</td>
            <td>结果${1!=1}</td>
          </tr>
          <tr>
            <td>小于运算符\${1 < 2}</td>
            <td>结果${1 < 2}</td>
          </tr>
          <tr>
            <td>大于运算符\${3 > 2}</td>
            <td>结果${3 > 2}</td>
          </tr>
          <tr>
            <td>小于等于运算符\${1 <= 2}</td>
            <td>结果${1 <= 2}</td>
          </tr>
          <tr>
            <td>大于等于运算符\${3 >= 2}</td>
            <td>结果${3 >= 2}</td>
          </tr>
        </table>
        <table border=1>
          <tr>
            <td>逻辑运算符</td>
            <td>结果</td>
          </tr>
          <tr>
            <td colspan="2">逻辑运算符&&</td>
          </tr>
          <tr>
            <td>\${true && true}</td>
            <td>结果${true && true}</td>
          </tr>
          <tr>
            <td>\${true && false}</td>
            <td>结果${true && false}</td>
          </tr>
          <tr>
            <td>\${false && false}</td>
            <td>结果${false && false}</td>
          </tr>
          <tr>
            <td colspan="2">逻辑运算符||</td>
          </tr>
          <tr>
            <td>\${true || true}</td>
            <td>结果${true || true}</td>
          </tr><tr>
            <td>\${true || false}</td>
            <td>结果${true || false}</td>
          </tr><tr>
            <td>\${false || false}</td>
            <td>结果${false || false}</td>
          </tr>
          <tr>
            <td colspan="2">逻辑运算符!</td>
          </tr>
          <tr>
            <td>\${!true}</td>
            <td>结果${!true}</td>
          </tr><tr>
            <td>\${!false}</td>
            <td>结果${!false}</td>
          </tr>
        </table>
        <table border=1>
          <tr>
            <td>条件运算符</td>
            <td>结果</td>
          </tr>
          <tr>
            <td>\${2>1?"Yes":"No"}</td>
            <td>结果${2>1?"Yes":"No"}</td>
          </tr>
          <tr>
            <td>\${2<1?"Yes":"No"}</td>
            <td>结果${2<1?"Yes":"No"}</td>
          </tr>
        </table>
        <table border=1>
          <tr>
            <td>验证运算符</td>
            <td>结果</td>
          </tr>
          <tr>
            <td>\${empty param.username}</td>
            <td>结果${empty param.username}</td>
          </tr>
          <tr>
            <td>\${empty param.password}</td>
            <td>结果${empty param.password}</td>
          </tr>
        </table>
        <table border=1>
          <tr>
            <td>括号运算符及运算符的优先级</td>
            <td>结果</td>
          </tr>
        </table>
      </body>
    </html>
    

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

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

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

    ${applicationScope.user["data"]}
    
    

    与存储有关的内置对象

    <!DOCTYPE html>
    <html>
      <head>
        <title>与存储有关的内置对象</title>
      </head>
      <body>
        <%
          //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}<br />
        <%--获取request范围内的name的属性--%>
        request范围内的那么属性的值为:${requestScope.name}<br />
        <%--获取session范围内的name的属性--%>
        session范围内的那么属性的值为:${sessionScope.name}<br />
        <%--获取application范围内的name属性--%>
        application范围内的那么属性的值为:${applicationScope.name}<br />
      </body>
    </html>
    

    与输入有关的内置对象

    <!DOCTYPE html>
    <html>
      <head>
        <title>用户表单</title>
      </head>
      <body>
        <form action="UserDemo.jsp" method="post">
          用户名:<input type="text" name="username" /><br />
          密码:<input type="password" name="password" /><br />
          姓名:<input type="text" name="name" /><br />
          性别:<input type="radio" name="sex" value="男">男<input type="radio" name="sex" value="女">女<br />
          爱好:<br />
          <input type="checkbox" name="interest" value="打篮球">打篮球<br />
          <input type="checkbox" name="interest" value="看书">看书<br />
          <input type="checkbox" name="interest" value="旅行">旅行<br />
          <input type="checkbox" name="interest" value="编程">编程<br />
          <input type="submit" value="提交">
          <input type="reset" value="重置">
        </form>
      </body>
    </html>
    
    
    <!DOCTYPE html>
    <html>
      <head>
        <title>接收用户参数</title>
      </head>
      <body>
        <%
          //设置页面编码格式
          request.setCharacterEncoding("gb2312");
        %>
        <%--接收用户参数--%>
        用户名:${<span style="color:#003399;">param</span>.username}<br />
        密码:${<span style="color:#003399;">param</span>.password}<br />
        姓名:${<span style="color:#003399;">param</span>.name}<br />
        性别:${<span style="color:#003399;">param</span>.sex}<br />
        爱好:${<span style="color:#003399;">paramValues</span>.interest[0]}
            ${<span style="color:#003399;">paramValues</span>.interest[1]}
      </body>
    </html>
    
    

    cookie内置对象

    <!DOCTYPE html>
    <html>
      <head>
        <title>设置cookie的值</title>
      </head>
      <body>
        <%
          //设置cookie的值
          Cookie c = new Cookie("username","root");
          //添加cookie到客户端
          response.addCookie(c);
        %>
        <a href="getCookieDemo.jsp">显示cookie的值</a>
      </body>
    </html>
    
    <span style="color:#000000;"><%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>取得cookie的值</title>
      </head>
      <body>
        cookie中的username的值为:${cookie.username.value}
      </body>
    </html>
    
    

    header内置对象

    <!DOCTYPE html>
    <html>
      <head>
        <title>取得header的值</title>
      </head>
      <body>
        ${header["host"]}<br />
        ${header["user-agent"]}<br />
      </body>
    </html>
    
    

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

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>获得环境参数</title>
      </head>
      <body>
        username参数值:${initParam.username}<br />
      </body>
    </html>
    
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/javaee"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
      version="2.5">
      <context-param>
        <param-name>username</param-name>
        <param-value>Zhangdapeng</param-value>
      </context-param>
    </web-app>
    
    

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

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>pageContext演示</title>
      </head>
      <body>
        <table border="1">
          <tr>
            <td>取得请求的参数的字符串</td>
            <td>${pageContext.request.queryString}</td>
          </tr><tr>
            <td>取得请求URL</td>
            <td>${pageContext.request.requestURL}</td>
          </tr><tr>
            <td>取得web应用名称</td>
            <td>${pageContext.request.contextPath}</td>
          </tr><tr>
            <td>取得HTTP请求方式(POST/GET)</td>
            <td>${pageContext.request.method}</td>
          </tr><tr>
            <td>取得使用的协议</td>
            <td>${pageContext.request.protocol}</td>
          </tr><tr>
            <td>取得用户IP地址</td>
            <td>${pageContext.request.remoteAddr}</td>
          </tr><tr>
            <td>判断session是否为新</td>
            <td>${pageContext.session.new}</td>
          </tr><tr>
            <td>取得session的id</td>
            <td>${pageContext.session.id}</td>
          </tr>
        </table>
      </body>
    </html>
    
    

    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.*" %>
    <!DOCTYPE html>
    <html>
      <head>
        <title>设置JavaBean中的属性</title>
      </head>
      <body>
        <%
        //实例化一个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);
         
        %>
        <a href="GetJavaBean.jsp">跳转到GetJavaBean.jsp</a>
      </body>
    </html>
    
    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>取得JavaBean中的属性值</title>
      </head>
      <body>
        姓名:${sessionScope.person.name}<br />
        年龄:${sessionScope.person.age}<br />
        性别:${sessionScope.person.sex}<br />
        朋友:${sessionScope.person.friends[0]},${sessionScope.person.friends[1]}<br />
      </body>
    </html>
    
    

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

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <%@page import="java.util.*,com.javaweb.ch08.*" %>
    <!DOCTYPE html>
    <html>
      <head>
        <title>设置Map页面</title>
      </head>
      <body>
        <%
          //新建一个HashMap
          HashMap userInfo = new HashMap();
          //在HashMap中设置值
          userInfo.put("username","zhangdapeng");
          userInfo.put("password","zhnagda123");
          //将值存储到session范围中
          session.setAttribute("userInfo",userInfo);
           
        %>
        <a href="GetMapDemo.jsp">跳转到GetMapDemo.jsp</a>
      </body>
    </html>
    
    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>使用存储器读取map中的数据</title>
      </head>
      <body>
        用户名:${sessionScope.userInfo.username}<br />
        密码:${sessionScope.userInfo.password}<br />
      </body>
    </html>
    
    

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

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <%@page import="java.util.*,com.javaweb.ch08.*" %>
    <!DOCTYPE html>
    <html>
      <head>
        <title>设置Array页面</title>
      </head>
      <body>
        <%
          String[] names = {"zhangda1","zhangda2","zhangda3"};
          //将值存储到session范围中
          session.setAttribute("names",names);
           
        %>
        <a href="GetMapDemo.jsp">跳转到GetArrayDemo.jsp</a>
      </body>
    </html>
    
    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>使用存储器读取map中的数据</title>
      </head>
      <body>
        用户名1:${sessionScope.names[0]}<br />
        用户名2:${sessionScope.names[1]}<br />
      </body>
    </html>
    
    

    存储器的复杂应用

    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <%@page import="java.util.*,com.javaweb.ch08.*" %>
    <!DOCTYPE html>
    <html>
      <head>
        <title>设置Array页面</title>
      </head>
      <body>
        <%
          ArrayList<Person> persons = new ArrayList<Person>();
           
          Person person1 = new Person("wang wu",24,"男");
          Person person2 = new Person("wang liu",24,"女");
           
          persons.add(person1);
          persons.add(person2);
           
          session.setAttribute("persons",persons);
           
        %>
        <a href="GetMapDemo.jsp">跳转到GetArrayDemo.jsp</a>
      </body>
    </html>
    
    <%@page language="java" contentType="text/html;charset=gb2312"%>
    <!DOCTYPE html>
    <html>
      <head>
        <title>使用存储器读取map中的数据</title>
      </head>
      <body>
        用户名1:${sessionScope.persons[0].name},${sessionScope.persons[0].age},${sessionScope.persons[0].sex}<br />
        用户名2:${sessionScope.persons[1].name},${sessionScope.persons[1].age},${sessionScope.persons[1].sex}<br />
      </body>
    </html>
    

      最新更新
      热门排行榜