EL表达式/JSTL复习总结

Html代码   收藏代码
  1. <%  
  2.     String pageValue = "Hello This is page";  
  3.     pageContext.setAttribute("pageV", pageValue);  
  4.     request.setAttribute("reqValue",  
  5.             "<font color='red'>Hello Request</font>");  
  6.     session.setAttribute("sessionValue",  
  7.             "<font color='green'>Hello session</font>");  
  8.     application.setAttribute("appValue",  
  9.             "<font color='blue'>Hello Application</font>");  
  10. %>  
  11.   
  12. <!-- EL/JSTL复习总结 -->    
  13. <h1>1.JSP脚本:</h1>  
  14. <div>  
  15.     JSP表达式:<%=pageContext.getAttribute("pageV")%><br />  
  16.     JSP表达式:<%=request.getAttribute("reqValue")%><br />  
  17.     JSP表达式:<%=session.getAttribute("sessionValue")%><br />  
  18.     JSP表达式:<%=application.getAttribute("appValue")%><br />  
  19. </div>  
  20. <h1>2.EL表达式:</h1>  
  21. <div>  
  22.     EL表达式:${pageV }<br/>  
  23.     EL表达式:${reqValue }<br/>  
  24.     EL表达式:${sessionValue }<br/>  
  25.     EL表达式:${appValue }<br/>  
  26.     【查找顺序:pageScope-requestScope-sessionScope-applicationScope】  
  27. </div>  
  28. <h1>3.EL表达式+scope:</h1>  
  29. <div>  
  30.     EL表达式:【pageScope】:${pageScope.pageV }<br/>  
  31.     EL表达式:【requestScope】:${requestScope.reqValue }<br/>  
  32.     EL表达式:【sessionScope】:${sessionScope.sessionValue }<br/>  
  33.     EL表达式:【applicationScope】:${applicationScope.appValue }<br/>  
  34. </div>  
  35. <h1>4.JSTL表达式:</h1>  
  36. <div>  
  37.     JSTL表达式:this【pageScope】:<c:out value="${pageScope.pageV }" /><br/>  
  38.     JSTL表达式:request:【requestScope】【escapeXml="false"<c:out value="${requestScope.reqValue }" escapeXml="false"/><br/>  
  39.     JSTL表达式:session:【sessionScope】<c:out value="${sessionScope.sessionValue }" /><br/>  
  40.     JSTL表达式:application:【applicationScope】<c:out value="${applicationScope.appValue }" /><br/>  
  41.     JSTL表达式:page:<c:out value="${applicationScope.appValue }" /><br/>  
  42.     JSTL表达式:noThisValue【default="ErrorEmpty"】:<c:out value="${noThisValue }" default="<font size='+3'>ErrorEmpty</font>" escapeXml="false"/><br/>  
  43. </div>  

 输出:

JSP脚本:

JSP表达式:Hello This is page
JSP表达式: Hello Request
JSP表达式: Hello session
JSP表达式: Hello Application

EL表达式:

EL表达式:Hello This is page
EL表达式: Hello Request
EL表达式: Hello session
EL表达式: Hello Application
【查找顺序:pageScope-requestScope-sessionScope-applicationScope】

EL表达式:

EL表达式:【pageScope】:Hello This is page
EL表达式:【requestScope】: Hello Request
EL表达式:【sessionScope】: Hello session
EL表达式:【applicationScope】: Hello Application

JSTL表达式:

JSTL表达式:this【pageScope】:Hello This is page
JSTL表达式:request:【requestScope】【escapeXml="false"】 Hello Request
JSTL表达式:session:【sessionScope】<font color='green'>Hello session</font>
JSTL表达式:application:【applicationScope】<font color='blue'>Hello Application</font>
JSTL表达式:page:<font color='blue'>Hello Application</font>
JSTL表达式:noThisValue【default="ErrorEmpty"】:ErrorEmpty
[要点]
1.EL表达式的作用域
2.JSTL<c:out value="">的default、escapeXml属性
***********************
EL表达式:
名字:${user.username }
性别:<c:if test="${user.gender != \"F\"}">男</c:if> 
所在系:${user.dept.dname }
访问map:[ map名.keyx ]:${user.dept.map.k1}
访问array[index]:${user.dept.arrays[0]}

访问list[index]:${user.dept.list[0]}


Html代码   收藏代码
  1. <%  
  2.     //初始化User  
  3.     List<User> users = new ArrayList<User>();  
  4.     for (int i = 0; i < 20; i++) {  
  5.         User u = new User();  
  6.         u.setUsername("baebae_" + i);  
  7.         if (i % 2 == 0) {  
  8.             u.setGender(EnumSex.M);  
  9.         } else {  
  10.             u.setGender(EnumSex.F);  
  11.         }  
  12.   
  13.         if (i % 3 == 0) {  
  14.             u.setDept(new Dept("行政"));  
  15.         } else {  
  16.             u.setDept(new Dept("IT开发组"));  
  17.         }  
  18.         users.add(u);  
  19.     }  
  20.     request.setAttribute("userList", users);  
  21.         request.setAttribute("splitString", "ab:bc,cd,de;ef,fg#gh,hi");  
  22. %>  
  23.   
  24. <h1>JSTL:</h1>  
  25. <table>  
  26.     <thead>  
  27.         <th width="200">用户名</th>  
  28.         <th width="120">性别</th>  
  29.         <th width="200">所在部门</th>  
  30.     </thead>  
  31.     <c:choose>  
  32.         <c:when test="${empty userList }">  
  33.             <tr>  
  34.                 <td rowspan="3">用户为空,请检查代码或者数据库</td>  
  35.         </c:when>  
  36.         <c:otherwise>  
  37.             <c:forEach  
  38.                 var="user"  
  39.                 items="${userList }"  
  40.                 varStatus="vs"  
  41.             >  
  42.                 <c:choose>  
  43.                     <c:when test="${vs.count % 2 ne 0 }">  
  44.                         <tr bgcolor="#669911">  
  45.                     </c:when>  
  46.                     <c:otherwise>  
  47.                         <tr>  
  48.                     </c:otherwise>  
  49.                 </c:choose>  
  50.                 <td>${user.username }</td>  
  51.                 <td><c:choose>  
  52.                         <c:when test="${user.gender eq \"M\" }">  
  53.                             男  
  54.                             </c:when>  
  55.                         <c:when test="${user.gender eq \"F\" }">  
  56.                             女  
  57.                             </c:when>  
  58.                         <c:otherwise>  
  59.                             不确定  
  60.                             </c:otherwise>  
  61.                     </c:choose></td>  
  62.                 <td>${user.dept.dname }</td>  
  63.                 </tr>  
  64.             </c:forEach>  
  65.         </c:otherwise>  
  66.     </c:choose>  
  67.   
  68. </table>  

 输出结果为:

JSTL

<1>.判断

 

<c:if test="${var}" ></c:if>

<c:choose>

    <c:when test="${var}" var="v">

    </c:when>

    <c:when test="${var}" >

    </c:when>

    <c:otherwise>

    </c:otherwise>

</c:choose>

 

<2>.遍历:

<c:forEach items="${list}" var="item" begin="0" end="${fn:length(userList)" step="1" varStatus="vs"

   

</c:forEach>

<c:forTokens items="${splitString }" delims=",:;#" var="v" >

${v }<br/>

</c:forTokens>

效果:

ab
bc
cd
de
ef
fg
gh
hi


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 JavaWeb 中,使用 EL 表达式JSTL 可以实现在 JSP 页面中进行动态数据处理和展示。下面我来分别介绍这两种技术的实现方法。 1. EL 表达式的实现 EL 表达式是一种用于在 JSP 页面中访问 JavaBean 中属性的语言。在 JSP 页面中,我们可以通过 ${} 语法来使用 EL 表达式。例如,我们可以通过 ${user.name} 来获取 JavaBean 中的 name 属性的值。 要在 JavaWeb 中使用 EL 表达式,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JavaBean 中定义属性,并提供 getter 和 setter 方法。 4) 在 JSP 页面中使用 EL 表达式来访问 JavaBean 的属性值。例如:${user.name}。 2. JSTL 的实现 JSTL 是一组 JSP 自定义标签,用于在 JSP 页面中进行动态数据处理和展示。JSTL 提供了一些常用的标签库,例如 core、fmt、sql、xml 和 functions 等。 要在 JavaWeb 中使用 JSTL,我们需要完成以下步骤: 1) 在 JSP 页面中引入 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>,指定页面编码为 UTF-8。 2) 在 JSP 页面中引入 JSTL 标签库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>。 3) 在 JSP 页面中使用 JSTL 标签库提供的标签来进行动态数据处理和展示。例如,使用 <c:forEach> 标签来遍历一个集合: ``` <c:forEach var="item" items="${list}"> ${item} </c:forEach> ``` 这样就可以在 JSP 页面中使用 EL 表达式JSTL 来进行动态数据处理和展示了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值