El、JSTL

来源:互联网 发布:淘宝流量闭环什么意思 编辑:程序博客网 时间:2024/04/28 05:42

背景: Jsp中嵌套大量java代码增加了页面的复杂程度,使得页面难以维护,因此Sun公司制定了Jsp标签用来代替Java代码,Apache组织开发的一套标签库被Sun公司整合后成为标准标签库JSTL。

  • 使用EL表达式访问Bean属性:

    1. ${对象名.属性名}:
      <!-- 容器依次从 pageContext、request、session、application中查找绑定名为user的对象,找到后调用getName(),然后输出 -->
      ${user.name }
      如果没有为name属性赋值会输出空白而不是null,如果取不到绑定名为user的对象输出空白页;
      等价于
      <% User puser = (User) request.getAttribute("user");
      out.println(puser.getName()); %>
      request中没有绑定名称为user的对象,会包500错误。
    2. ${对象名[“属性名”]};
      方括号中的属性名可以使用单引号或者双引号;
  • EL表达式的访问范围:

    ${requestScope.user["name"]}<!--可以指定在requestScope、sessionScope、pageScope、applicationScope中查找符合绑定名的对象,如果指定了范围,那么在该范围下未找到,就不会再去其他区域查找. -->
  • EL表达式运算:

    1+2: ${ 1+2 }<br>    "123"+"456": ${ "123"+"456" }<br>     "123" == "123": ${"123" == "123" }<br>    "123" eq "123": ${"123" eq "123" }<br>    <% pageContext.setAttribute("str" ,"abc"); %>    str eq "abc" :  ${ str eq "abc" }<br>    str eq "abcd" :  ${ str eq "abcd" }<br>    <% request.setAttribute("str", "") ;       List list = new ArrayList();       request.setAttribute("list",list);       request.setAttribute("obj",null);    %>     空字    符串: ${empty str }<br>list: ${empty list }<br>    未绑 定对象: ${empty jsp }<br>    null对象: ${empty  obj }<br>

运行结果:
这里写图片描述

  • EL表达式获取请求参数:
    姓名:${param.name }<br>    兴趣:${paramValues.interset[0]}${paramValues.interset[1]}

请求:
http://localhost:8080/studyservlet/js/el02.jsp?name=zhpen&interset=sleeping&interset=eating
结果:

    姓名:zhpen    兴趣:sleeping、eating
  • 标签:
<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><%@ page import="java.util.*" import="hateapple.bean.*" %><%@ taglib uri ="http://java.sun.com/jsp/jstl/core"  prefix="c"%><!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"><style type = "text/css">    .s1{color:red}    .s2{color:green}</style><title>Insert title here</title></head><body>    <%        List<User> listUser = new ArrayList<User>();         User user = new User();        user.setName("张三丰");        user.setAge(103);        listUser.add(user);         user = new User();        user.setName("李四");        user.setAge(50);        listUser.add(user);         user = new User();        user.setName("令狐冲");        user.setAge(80);        listUser.add(user);         user = new User();        user.setName("韦小宝");        user.setAge(80);        listUser.add(user);         request.setAttribute("userList", listUser);    %>    <table>        <c:forEach var="user" items="${userList }" varStatus="s">              <tr class=                    <c:if test="${s.index % 2==0}" var="rs">"s1"</c:if>                    <c:if test="${!rs}">"s2"</c:if>              >              <c:choose>                <c:when test="${!rs}">                    <td>红色</td>                </c:when>                <c:otherwise>                    <td>红色</td>                </c:otherwise>              </c:choose>                 <td>${user.name }</td>                <td>${user.age }</td>                <td>${s.count }</td>                <td>${s.index }</td>            </tr>          </c:forEach>    </table></body></html>
0 0
原创粉丝点击