南京北大青鸟
北大青鸟中博大学生专区 南京北大青鸟高中生专区 北大青鸟南京中专生专区 南京中博待业者专区 北大青鸟在职者专区
 
在线咨询
 
 
 
中心简介
校区简介
校区环境
周边景点
关于北大青鸟
特色优势
常见问题解答
网站地图
 
 
ACCP软件工程师课程
什么是ACCP
ACCP6.0课程介绍
各课程定位与介绍
各阶段课程
教学模式
ACCP6.0课程体系
ACCP6.0认证证书
 
 
  开班信息  
 
 
讲座试听
 
您的位置:首页 - 编程技巧 - 阅读信息
EL表达式
作者:南京中博-张绍鹏  出处:原创  日期:2011-03-25
EL表达式也是jsp中比较常用的技术之一。EL表达式与jsp的小脚本相比有一定的好处

  

    EL表达式也是jsp中比较常用的技术之一。EL表达式与jsp的小脚本相比有一定的好处。好处是:EL表达式可以在不用任何java代码的情况下作出相应的处理与输出,这样可以大大简化jsp页面的复杂度,使jsp页面更加的清爽(在jsp页面中要尽量少出现java代码,这样方便改错与后期的维护)。

首先我们讲一下,EL表达式的基本用法。

格式:${表达式}

现在我们可以开始学习EL表达式了。

(1)   基本的输出(out对象,EL的基本输出)

对于out对象我们已经比较熟悉了,它是用来在jsp页面中输出内容的。我们可以用EL表达式达到同样的效果。

把下面的代码复制到jsp

<body>

    out对象输出:<%out.println("helloWorld"); %><br>

    EL对象的输出:${"helloWorld" }

  </body>

 

 

 

 

 

 


获得结果是一样的

 

同样,EL表达式中可以加入相应的判断,来判断真假情况

<body>

    out对象输出:<%out.println("helloWorld"); %><br>

    EL对象的输出:${"helloWorld" }

<hr>

<!--&gt; HTML的特殊字符,用于输出一个大于号(>)-->

    java 表达式输出:1&gt;2 <%=1>2 %><br>

    java 表达式输出:1&gt;2{1>2}

  </body>

 

 

 

 

 

 

 


 

结果如图:当然还有其他的用法,我们在列举一些题目给大家

EL的保留字

1.算术运算符有五个:+-*$/div%mod

2.关系运算符有六个:==eq!=ne<lt>gt<=le>=ge

3.逻辑运算符有三个:&&and||or!not

代码如下:

<hr>

1+2 =${1+2}<br>

       1-2 = ${1-2 }<br>

       2*3 = ${2*3 }<br>

       2$3 = ${2 $ 3 }<br>

       4/2 = ${4/2 }<br>

       4 div 2 = ${4 div 2 }<br>

       5%3=${5%3 }<br>

       5 mod 3 = ${5 mod 3 }<br>

       5 eq 3=${5 eq 3 }<br>

       true and true = ${true and true }<br>

<hr>

 

 

 

 

 

 

 

 

 

 

 

 


效果图如下:

EL中的四种变量范围,

EL表达式中有四种变量范围,从小到大的顺序是pagerequestsessionapplication变量范围,要获得对应范围的变量,分别是pageScoperequestScopesessionScopeapplicationScope

现在我们讲一个示例:代码如下:

<%

    request.setAttribute("hello","helloWrold");

%>

     Hello 中存放的值是:${hello};

 

 

 

 


 

这里没有用到任一个范围,实际上完全的写法应该是:

<%

    request.setAttribute("hello","helloWrold");

%>

     Hello 中存放的值是:${requestScope.hello};

 

 

 

 

 


 

如果不加任何范围,系统将会从page一直搜索到application,如果找到就显示其结果,如果找到最后都没有找到这个变量,就什么都不输出。

<%

    request.setAttribute("hello","helloWrold");

%>

     Hello 中存放的值是:${hello}<br>

     Hello 中存放的值是:${requestScope.hello}<br>

     world 中存放的值是:${world }<br>

 

 

 

 

 

 


 

效果如下:

其他范围变量示例代码:代码片段如下

<hr>

    <%

    request.setAttribute("req","request中的变量");

    session.setAttribute("ses","session中的变量");

    application.setAttribute("app","application中的变量");

    pageContext.setAttribute("pag","page中的变量");

%>

     page中变量是:${pageScope.pag }<br>

     request中变量是:${requestScope.req }<br>

     session中变量是:${sessionScope.ses }<br>

     application中变量是:${applicationScope.app }<br>

<hr>

 

 

 

 

 

 

 

 

 

 

 


效果图如下

现在我们讲一下EL表达式的其他用法:

1)获得表单里提交的数据

A:表单的代码,index.jsp.提交给doIndex.jsp

<form action="doIndex.jsp" name="form1">

           <input type="text" name="txtName"><br>

           <input type="password" name="txtPwd"><br>

           <input type="submit" value="提交">

 </form>

 

 

 

 

 


 

 

 

 

doIndex.jsp页面中的主要代码

<body>

    用户名:${param.txtName}<br>

    密码:${param.txtPwd }

</body>

 

 

 

 

 


代码中的param是专为获取表单中的值而使用的对象,param后面跟的是表单元素的name值,这样就可以获得对应表单中的值。结果如下:

这样就可以非常方便获得表单中的值.

 

(1)   通过EL表达式要获得对象中的值。

代码如下:创建实体类

package entity;

public class User {

       private String name;

       private String pwd;

       public User(String name, String pwd) {

              this.name = name;

              this.pwd = pwd;

       }

       public User() {}

       public String getName() {

              return name;

       }

       public void setName(String name) {

              this.name = name;

       }

       public String getPwd() {

              return pwd;

       }

       public void setPwd(String pwd) {

              this.pwd = pwd;

       }

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


                                                                                            

Jsp页面的内容是:

<%@ page language="java" import="java.util.*,entity.*" pageEncoding="gbk"%>

<html>

  <head>

    <title>EL 显示对象中的数据</title>

  </head>

  <body>

    <%

    User user = new User();

    user.setName("Tom");

    user.setPwd("accp");

    request.setAttribute("user",user);

     %><br>

    User中存放的数据是<br>

    用户名${user.name }<br>

    密码${user.pwd }<br>

  </body>

</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 


效果图如下:

 

 

 

下次我们将会介绍EL表达式的其他对象。

 

北大青鸟-中博www.njaccp.com

返 回
下一篇:CSS+DIV布局剖析案例5
相关新闻
传雅虎500万美元出售在线书签服务Delicious
惠普收购Melodeo进军流媒体音乐市场
DELPHI2010中ICopyHook的问题
Novell和Red Hat在用户界面专利案中获胜
转战移动互联网 Intel抱紧诺基亚踢开微软
 
中博教育客服在线
 
©南京北大青鸟 隐私政策


学费咨询
学历咨询
专业咨询
订座试听
就业咨询
课程咨询
测试认证
软件认证