## JSTL
###### 实现了JSP页面代码的复用
###### 使得可读性更强
### 导入

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

核心标签

表达式控制标签

out
  • 输出常量
可在value属性中直接赋值
  • 输出变量
变量不存在时可配合default属性输出默认值

<c:out value="" default="">

set
  • 存值到Scope中
<c:set value="" var="" scope=""></c:set>
  • 存值到JavaBean中
<jsp:useBean id="person" class="com.imooc.test.Person"></jsp:useBean>
<c:out target="{person}" property="name" value="hubiao"></c:set>
remove
  • var属性必选
  • scope属性可选
  • 不能移除JavaBean中的属性

    #######

    <c:remove var=""></c:remove>
catch
  • 包含哪些容易出错的标签
<c:catch var="error">
<c:set target="不存在"></c:set>
</c:catch>
<c:out value="${error}">

流程控制标签

if
<c:if test="${}" var="" scope=""></c:if>
choose when otherwise
<c:choose>
<c:when test="${}"> </c:when>
<c:otherwise> </c:otherwise>
</c:choose>

循环控制标签

forEach
  • var设置变量名用于存储从集合中取出来的元素
  • items指定要遍历的集合
  • begin、end用于指定遍历的起始位置和终止位置
  • varStatus通过index、count、first、last几个状态值,描述begin和end子集中元素的状态
  • step默认一个一个遍历 =2 隔一个遍历一个
forTokens

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

  • items指定被迭代的zifuchaun
  • delims指定使用的分隔符
  • var指定用来存放遍历到的成员

URL操作标签

import
  • 可以把静态的或动态的文件包含到本JSP页面
  • jsp:include的区别为: 只能包含一个WEB应用中的文件
  1. url被导入资源的URL路径
  2. context 相同服务器下其他的web工程,必须以"/"开头
  3. var以String类型存入被包含文件的内容
  4. Scope var变量的JSP范围
  5. charEncoding被导入文件的编码格式
  6. varReader 以Reader类型存储bei被包含文件的内容
redirect
  • url 指定重定向页面的地址
  • context 用于导入其他的web应用中的页面
url

动态生成一个String类型的URL

  • value表示url绝对路径
  • var 表示这个url
  • scope 这个url的访问域

JSTL函数

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

EL Expression Language

格式

${表达式}

"." [] 运算符

${user.sex} ${user["sex"]}
<1> 包含特殊字符只能用[]
<2> [] 动态取值

变量

JSP内置对象 EL名称
Page PageScope
Request RequestScope
Session SessionScope
Application ApplicationScope

EL自动类型转换

自动识别类型,自动转换

EL运算符

验证运算符 empty 空 返回true

EL表达式里实现if else

三元表达式实现 a>b? a:b;

JSTL&EL的更多相关文章

  1. js/jstl/el的区别

    JavaScript 学习的路径:http://www.w3school.com.cn/js/js_intro.asp 是世界上最流行的编程语言. 这门语言可用于 HTML 和 web,更可广泛用于服 ...

  2. java,js,jstl,EL的简单交互

    EL全名Expression Language.EL提供了在JSP脚本编制元素范围外使用运行时表达式的功能. 脚本编制元素是指页面中能够用于在JSP文件中嵌入java代码的元素. JSP标准标记库(j ...

  3. JSP JSTL EL

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> Html代码 复制代 ...

  4. JSTL&EL(程序员必看之一)

    EL表达式 可以在jsp页面中减少大量的Java代码.Expression Language,它是一种借鉴了javaScript和XPath的表达式语言. EL表达式定义了一系列的隐含对象和操作符,使 ...

  5. 通过JSTL+EL实现循环迭代

    使用前需要导入包 jstl.jar 和 standard.jar <%@ page language="java" import="java.util.*,com. ...

  6. 使用jstl+el表达式遇到的几个问题

    1.使用jstl访问Map<Integer,String>中的内容时总取不到? el表达式的一个bug,在解析数字的时候,会自动将数字转换成Long类型. 我的解决办法是,Map的key改 ...

  7. JSTL+EL表达式+JSP自定义框架案例

    不会框架不要紧,我带你自定义框架 前言:这标题说的有点大了,当一回标题党,之前在学JSP的时候提到了JSTL和EL表达式,由于一直钟情于Servlet,迟迟没有更新别的,这回算是跳出来了.这回放个大招 ...

  8. 【JSTL EL】 jsp 页面学习

    JSTL(JSP Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的.JSTL只能运行在支持JSP1.2 ...

  9. java map在JSTL EL中的小应用--<c:forEach>遍历Map<>泛型

    准 备 数 据 :(自己准备吧少年,考验你时候到了!!) /** 结构示意图: 类型: List集合 map对象 LIst集合 Person类对象 String name : int age mLis ...

随机推荐

  1. [转]微信小程序开发(二)图片上传+服务端接收

    本文转自:http://blog.csdn.net/sk719887916/article/details/54312573 文/YXJ 地址:http://blog.csdn.net/sk71988 ...

  2. VS 正则表达式替换内容

    很少使用VS的正则替换功能,最近因为需要添加大量的默认值,但是又不想重新类,就想到了这个. 1.替换带有///描述的属性 查找的正则表达式: /// <summary>((.)*((.|\ ...

  3. MySql存储引擎MyISAM和InnoDB的区别

    1.MySQL默认采用的是MyISAM. 2.MyISAM不支持事务,而InnoDB支持.InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速 ...

  4. SpringSecurity 3.2入门(6)简单介绍默认使用的十一个过滤器

    Security提供了20多个filter,每个过滤器都提供特定的功能.这些filter在Spring Security filter过滤器链中的缺省顺序由 org.springframework.s ...

  5. haproxy/nginx+keepalived负载均衡 双机热备 邮件报警 实战及常见问题

    Haproxy 做http和tcp反向代理和负载均衡keepalived 为两台 Haproxy 服务器做高可用/主备切换.nginx   为内网服务器做正向代理,如果业务需求有变化,也可以部分替代 ...

  6. TortoiseGit客户端安装及使用(上传代码到git@osc

    用TortoiseGit客户端之前要下载安装git http://git-scm.com/download/win 下载完安装完就可以了,之后好像就用不上了,全交给TortoiseGit客户端了 第一 ...

  7. PopupWindow简单使用

    如图是效果图 当点击 “点我”的按钮是   会弹出 如图的 弹窗 补充为PopupWindow设置一个显示动画和消失的动画 先在anim的文件下分别设置显示和消失的动画 <?xml versio ...

  8. 【起航计划ObjC 003】印第安老斑鸠ObjC的幻想 ---- ObjC经典问题

    1.Objective-C的类可以多重继承么?可以采用多个协议么? 答:不可以多重继承,可以采用多个协议. 2.#import和#include的区别是什么?#import<> 跟 #im ...

  9. RBG灯颜色渐变(颜色要尽可能多)程序分析

    相信很多调过RBG灯的朋友都是通过分别改变R.B.G的占空比来改变颜色的,但是不是发现了一个问题,那就是不管怎样调都很难实现几十种颜色的变化,一般只有是7种颜色的渐变.下面给朋友们分享一个可以实现几十 ...

  10. 【转】JavaScript 中值得注意的 for 循环

    在ECMAScript5(简称 ES5)中,有三种 for 循环,分别是: 简单for循环 for-in forEach 在2015年6月份发布的ECMAScript6(简称 ES6)中,新增了一种循 ...