EL表达式简介

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值