EL表达式和JSTL标签详解

来源:互联网 发布:用python写购物车 编辑:程序博客网 时间:2024/06/03 22:46

EL表达式和JSTL标签详解


用法详见例子

demo.jsp

<%@page pageEncoding="utf-8"%><%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!doctype html><html>  <head>    <meta charset="utf-8">    <title>EL&JSTL</title>  </head>  <body>    <h1>JSTL</h1>    <!--       1.if        test属性:通过EL写一个条件;         ==在EL底层实现是用equals实现的。     -->    <p>      <c:if test="${user.sex=='male'}">男</c:if>      <c:if test="${user.sex=='famale'}">女</c:if>    </p>    <!--       2.choose    -->    <c:choose>      <c:when test="${user.sex=='female'}">女</c:when>      <c:otherwise>男</c:otherwise>    </c:choose>    <!--      3.forEach        items属性中声明要遍历的数据。        var属性用来声明每次循环对应数据的名称;        varStatus属性用来获取一个变量,该变量可以        获取到循环的次数等信息。    -->    <p>      <c:forEach var="love" items="${user.loves}"        varStatus="s">          <!-- varStatus有两个属性:            index(下标,从0开始),count(循环次数) -->        ${s.index} ${love}<br/> <!-- 标签内通过EL来输出数据; -->      </c:forEach>    </p>            <hr/>    <h1>EL</h1>    <!--       1.EL可以直接使用。(不用导包)      2.request已经绑定了要访问的数据(user).      3.EL访问的是该对象的Bean属性。    -->    <!-- 1.获取Bean属性          name是Bean属性,不是对象属性 -->    <p>      姓名:${user.name}    </p>    <p>      密码:${user["password"]}    </p>    <p>      爱好:${user.loves[0] }    </p>    <p>      课程:${user.course.name }    </p>    <!--       2.EL获取到Bean后,可以直接做运算     -->     <p>${user.course.days+10}</p>     <p>${user.course.days>10 && user.course.days<50}</p>     <!-- 可以判断数据是否为null -->     <p>${empty user}</p>     <p>${user==null }</p>     <!--       EL默认会按照顺序,依次从4个隐含对象中取值:        1)page        *2)request        *3)session        4)application       也可以指定取值的范围:        xxxScope,如sessionScope.user.name      -->     <p>${requestScope.user.name }</p>     <!--      3.获取请求参数        param.x == request.getParamter("x")     -->     <p>${param.x }</p>  </body></html>

User.java

package entity;import java.io.Serializable;public class User implements Serializable{//username对象的属性private String username;private String password;private String sex;private String[] loves;private Course course;//name是Bean的属性//EL访问的是Bean的属性public String getName() {return username;}public void setName(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String[] getLoves() {return loves;}public void setLoves(String[] loves) {this.loves = loves;}public Course getCourse() {return course;}public void setCourse(Course course) {this.course = course;}}

Course.java

package entity;import java.io.Serializable;public class Course implements Serializable{private String name;private int days;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getDays() {return days;}public void setDays(int days) {this.days = days;}}


0 0