1.1  el表达式简介

 

 

1.2  el表达式demo

 

<%@page import="org.eclipse.jdt.internal.compiler.lookup.ImportConflictBinding"%>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@page import="com.entity.People"%>
<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>

  <!-- 直接取数据 -->
    <%
        pageContext.setAttribute("info1", "page范围属性");
        request.setAttribute("info1", "request范围属性");
        session.setAttribute("info1", "session范围属性");
        application.setAttribute("info1", "application范围属性");
    %>
    ${info1}
    <hr>


    <!-- 提交表单参数 -->
    <form action="el.jsp" method="psot">
    name属性:<input type="text" name="name" /> <br>
    age属性:<input type="text" name="age" /> <br>
    <input type="submit" value="提交到el.jsp"> 
    <hr>


    <!-- paramValues提交一组参数 -->
    <form action="el.jsp" method="post">
    <input type="checkbox" name="hobby" value="java语言" />java语言 
    <input type="checkbox" name="hobby" value="C语言" />C语言
    <input type="checkbox" name="hobby" value="php语言" />php语言 <br>
    <input type="submit" value="提交到el.jsp">
    <hr>


    <!-- 对象操作 -->
    <%
        People zhangsan = new People();
        zhangsan.setId(1);
        zhangsan.setName("zhangsan");
        zhangsan.setAge(12);
        request.setAttribute("zhangsan", zhangsan);
    %>
    编号:${zhangsan.id }<br>
    姓名:${zhangsan.name }<br>
    年龄:${zhangsan.age }<br>
    <hr>

    <!-- list操作 -->
    <% 
         People p1 = new People();
         p1.setName("张三");
         
         People p2 = new People();
         p2.setName("李四");
         
         List<People> list = new ArrayList<People>();
         list.add(p1);
         list.add(p2);
         
         request.setAttribute("list",list);
     %>
     <!-- 取list指定位置的数据 -->
     ${list[0].name} 
     ${list[1].name} 
    <hr>    

    <!-- 运算符操作 -->
    <%
        request.setAttribute("num1", 10);
        request.setAttribute("num2", 3);
        request.setAttribute("flog1", true);
        request.setAttribute("flog2", false);
    %>
    算术运算符<br>
    num1=${num1 },num2=${num2 }<br>
    num1+num2=${num1+num2 }<br>
    num1-num2=${num1-num2 }<br>
    num1-num2=${num1-num2 }<br>
    num1*num2=${num1*num2 }<br>
    num1/num2=${num1/num2 }<br>
    num1%num2=${num1%num2 }
    <hr>
    关系运算符<br>
    flag1=${flag1 },flag2=${flag2 }<br>
    flag1 && flag2: ${flag1 && flag2 }<br>
    flag1 || flag2: ${flag1 || flag2 }<br>
    !flag1: ${!flag1} }
    <hr>
    三目运算符<br>
    num1>num2: ${num1>num2?"yes":"no" }
    <hr>
    判断空操作:${empty num1 }
    EL表达式中使用二元表达式<hr>
    <% 
        session.setAttribute("user",new People("张三"));
    %>
    ${user==null? "对不起,您没有登陆 " : user.username}
</body>
</html>

 

 

 

 

1.3  是否启用el表达式

  <%@ page isELIgnored="true" %> 表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言


1.4  el表达式和小脚本取session 区别
EL表达式使用起来会更简洁,假如session中有一个属性A(attrA),那么EL和jsp脚本取值的方式如下:
EL表达式:${ sessionScope.attrA }
JSP脚本:<%=session.getAttribute("attrA")%>
个人还是觉得EL表达式比较简便一些,毕竟当初apache设计EL表达式的初衷就是为了用EL表达式来减少JSP脚本的编写。
posted on 2015-08-19 23:02  菜鸟乙  阅读(398)  评论(0编辑  收藏  举报