EL表达式简介

来源:互联网 发布:展翅高飞软件下载 编辑:程序博客网 时间:2024/04/29 20:04

  • EL表达式简介
    • 简介
    • EL作用
    • 简单示例
      • 示例1获取JavaBean对象
      • 示例2获取请求的参数

EL表达式简介

最近Web课好像要讲这个东西。。。其实我用这个并不多,就当初学Strut2 时介绍OGNL表达式时顺带学了一点。


简介

主要作用是在Java Web应用程序嵌入到网页(如JSP)中,用以访问页面的上下文以及不同作用域中的对象,取得对象属性的值,或执行简单的运算或判断操作。EL在得到某个数据时,会自动进行数据类型的转换。
EL全名Expression Language,使得JSP页面在访问存储在JavaBean中的数据变得非常简单。使用EL表达式可以替换JSP页面中的脚本表达式。

EL作用

  • 获取数据
  • 执行基本的关系与逻辑运算
  • 获取web应用中的常用对象
  • 调用Java方法

简单示例

示例1:获取JavaBean对象

可以提供${EL表达式}直接访问对象或者对象中的成员变量。
首先使用MyEclipse创建一个简单的web应用
在Src目录下创建包:com.example.zx.domain
在包下创建User.java文件,并设置两个成员变量,并指定getter和setter:

package com.example.zx.domain;public class User {    String userName;    String passWd;    public String getUserName() {        return userName;    }    public void setUserName(String userName) {        this.userName = userName;    }    public String getPassWd() {        return passWd;    }    public void setPassWd(String passWd) {        this.passWd = passWd;    }}

在Web应用的WebRoot目录下创建testEL.jsp文件,下面通过代码对EL表达式进行测试:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@page import="com.example.zx.domain.User"%><html>  <head></head>  <body>  <hr>    获取javaBean中的属性<br>      <%          User u = new User();           u.setUserName("Near_ZhXiaO");          pageContext.setAttribute("user",u);      %>      Servlet: <br>      <%=((User)pageContext.getAttribute("user")).getUserName() %>      <br>      EL表达式:      ${user.userName}  </body></html>

将web应用部署到Tomcat并访问:
http://localhost:8080/testtest/testEL.jsp
将看到两种不同方式访问属性获得相同的值。

示例2:获取请求的参数

http://localhost:8080/testtest/testEL.jsp?uesrname=Near
同时我们修改jsp文件:

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@page import="com.example.zx.domain.User"%><html>  <head></head>  <body>  <%  request.setAttribute("passwd", "1503121703");   %>  <hr>      EL表达式:<br>      ${param.username}      ${passwd}      <br>      ${param["username"] }      <br>      Servlet:      <br>      <%=request.getParameter("username") %>      <%=request.getAttribute("passwd") %>  </body></html>
0 0