热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

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

这篇文章主要介绍了JSP中EL表达式的各种运用,比如用EL处理数学运算、内置对象以及数据的存取等,代码示例都相当实用,需要的朋友可以参考下

EL运算符:

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


  
    
  
  
    
算数运算符 结果
加法运算符\${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&#63;"Yes":"No"} 结果${2>1&#63;"Yes":"No"}
\${2<1&#63;"Yes":"No"} 结果${2<1&#63;"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 c = new COOKIE("username","root");
      //添加COOKIE到客户端
      response.addCOOKIE(c);
    %>
    显示COOKIE的值
  


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


  
    
  
  
    COOKIE中的username的值为:${COOKIE.username.value}
  


header内置对象



  
    
  
  
    ${header["host"]}
${header["user-agent"]}

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

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


  
    
  
  
    username参数值:${initParam.username}
<&#63;xml version="1.0" encoding="ISO-8859-1"&#63;> username Zhangdapeng

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

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


  
    
  
  
    
取得请求的参数的字符串 ${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.*" %>


  
    
  
  
    <%
    //实例化一个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"%>


  
    
  
  
    姓名:${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.*" %>


  
    
  
  
    <%
      //新建一个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"%>


  
    
  
  
    用户名:${sessionScope.userInfo.username}
密码:${sessionScope.userInfo.password}

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

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


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


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


  
    
  
  
    用户名1:${sessionScope.names[0]}
用户名2:${sessionScope.names[1]}

存储器的复杂应用

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


  
    
  
  
    <%
      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"%>


  
    
  
  
    用户名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}


推荐阅读
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • 本文介绍了如何利用 Spring Boot 和 Groovy 构建一个灵活且可扩展的动态计算引擎,以满足钱包应用中类似余额宝功能的推广需求。我们将探讨不同的设计方案,并最终选择最适合的技术栈来实现这一目标。 ... [详细]
  • 本文详细介绍如何利用已搭建的LAMP(Linux、Apache、MySQL、PHP)环境,快速创建一个基于WordPress的内容管理系统(CMS)。WordPress是一款流行的开源博客平台,适用于个人或小型团队使用。 ... [详细]
  • 本文介绍如何将自定义项目设置为Tomcat的默认访问项目,使得通过IP地址访问时直接展示该自定义项目。提供了三种配置方法:修改项目路径、调整配置文件以及使用WAR包部署。 ... [详细]
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 本文探讨了使用C#在SQL Server和Access数据库中批量插入多条数据的性能差异。通过具体代码示例,详细分析了两种数据库的执行效率,并提供了优化建议。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 在进行QT交叉编译时,可能会遇到与目标架构不匹配的宏定义问题。例如,当为ARM或MIPS架构编译时,需要确保使用正确的宏(如QT_ARCH_ARM或QT_ARCH_MIPS),而不是默认的QT_ARCH_I386。本文将详细介绍如何正确配置编译环境以避免此类错误。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • ABBYY FineReader:高效PDF转换、精准OCR识别与文档对比工具
    在处理PDF转换和OCR识别时,您是否遇到过格式混乱、识别率低或图表无法正常识别的问题?ABBYY FineReader以其强大的功能和高精度的识别技术,完美解决这些问题,帮助您轻松找到最终版文档。 ... [详细]
  • HTML基础入门指南
    本文将深入浅出地介绍HTML的基础知识,包括其定义、开发工具、制定机构、特性、基本标签及更多实用内容。 ... [详细]
  • 本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 在安装 SQL Server 时,选择混合验证模式可以提供更高的灵活性和管理便利性。如果您已经安装了 SQL Server 并使用单一的 Windows 身份验证模式,可以通过以下步骤将其更改为混合验证模式。 ... [详细]
  • 本文介绍了在 SQL Server 2012 客户端中格式化 SQL 查询语句的多种方法,包括内置功能和第三方工具,帮助用户提高代码可读性和维护性。 ... [详细]
author-avatar
Yunir_944
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有