码迷,mamicode.com
首页 > Web开发 > 详细

JSTL和EL

时间:2017-12-03 13:02:31      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:定义   and   ima   rar   文件   查找   har   html标签   百度   

本文JSTL的core部分引用博客来源于(很详细)

http://www.cnblogs.com/xdp-gacl/p/3943390.html

1.JSTL

  JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL简化了JSP和WEB应用程序的开发。JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的。使用JSTL标签的目的就是不希望在jsp页面中出现java逻辑代码

2.添加依赖包:JSTL和standard

3.分类

  1. 核心标签(用得最多)
  2. 格式化标签(I18N国际化格式化标签)
  3. SQL标签(数据库标签,很少使用)
  4. XML标签(几乎不用)
  5. JSTL函数(EL函数)

使用不同的标签的时候需要在JSP中引入不同的库

如:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

4.核心标签库

JSTL的核心标签库标签共14个,使用这些标签能够完成JSP页面的基本功能,减少编码工作。

    (1)表达式控制标签out标签、set标签、remove标签、catch标签。
    (2)流程控制标签if标签、choose标签、when标签、otherwise标签
    (3)循环标签forEach标签、forTokens标签
    (4)URL操作标签import标签、url标签、redirect标签、param标签

<c:out>标签的功能:

<c:out>标签主要是用来输出数据对象(字符串、表达式)的内容或结果

 <c:out value=”字符串”>
 <c:out value=”EL表达式”>
  JSTL的使用是和EL表达式分不开的,EL表达式虽然可以直接将结果返回给页面,但有时得到的结果为空,<c:out>有特定的结果处理功能,EL的单独使用会降低程序的易读性,建议把EL的结果输入放入<c:out>标签中。
    <c:out value="容杰龙"></c:out>
    <c:out value="57"></c:out>
    <% request.setAttribute("number", 57);  %>
    <c:out value="${requestScope.number }"></c:out>
    <c:out value="${name }" escapeXml="true" default="rjl"></c:out>
    <c:out value="${number }" escapeXml="false" >60</c:out>

技术分享图片

    <li><c:out value="&lt未使用字符转义&gt" /></li>
        <li><c:out value="&lt使用字符转义&gt" escapeXml="false"></c:out></li>
    <c:out value="<a href=‘http://www.baidu.com/‘>百度搜索</a>" escapeXml="false"/>

<c:set>标签

技术分享图片

 

 技术分享图片

 技术分享图片

<c:remove>标签主要用来从指定的JSP范围内移除指定的变量

<c:remove var=”变量名” [scope=”page|request|session|application”]/>
  其中var属性是必须的,scope可以以省略。

 <c:catch>标签用于捕获嵌套在标签体中的内容抛出的异常。

技术分享图片

 

其语法格式如下:<c:catch [var="varName"]>容易产生异常的代码</c:catch>
  var属性用于标识<c:catch>标签捕获的异常对象,它将保存在page这个Web域中。

<c:if>标签

技术分享图片

技术分享图片

<c:choose>、<c:when>和<c:otherwise>标签

<c:forEach>标签

技术分享图片

技术分享图片

forTokens标签

该标签用于浏览字符串,并根据指定的字符将字符串截取。

技术分享图片

技术分享图片

 

<c:import>标签

 该标签可以把其他静态或动态文件包含到本JSP页面,与<jsp:include>的区别为:<jsp:include>只能包含同一个web应用中的文件。而<c:import>可以包含其他web应用中的文件,甚至是网络上的资源。

该语句应该放在<c:catch></c:catch>语句块中捕获

技术分享图片

 <c:import url="https://www.baidu.com" charEncoding="UTF-8"></c:import>

 

<c:url>标签

技术分享图片

 技术分享图片

<c:redirect>标签

技术分享图片

技术分享图片

技术分享图片

<c:param>标签

技术分享图片

技术分享图片

5.格式化标签库

 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

12个标签

技术分享图片

技术分享图片

6.JSTL函数functions(EL函数)

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

16个标签

 技术分享图片

 

技术分享图片

 

7.EL表达式

EL表达式定义规则:以 $ 开头 内容写在 {} 中

由于EL表达式所有的代码都是写在{}中的,所以也可以在里面写运算

EL中的运算符分为  .  和  []  两种

EL表达式查找顺序(都是针对Attrbute()):

若使用 ${user} 没有在哪一个范围查找user那么它会以以下顺序来进行查找,没有则返回null

  1. Page
  2. Request
  3. Session
  4. Application

EL表达式的隐性变量

技术分享图片

 

JSTL和EL

标签:定义   and   ima   rar   文件   查找   har   html标签   百度   

原文地址:http://www.cnblogs.com/57rongjielong/p/7923788.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!