JSTL学习总结

更新日期: 2019-03-24阅读量: 1853标签: 标签

下载

mvnrepository中,直接搜索jstl,找到下载量最高的,下载1.2版本。下载完导入到项目里面就好了


jstl概述

jstl是apache对EL表达式的扩展,使用需导jar包  


JSTL标签库

  • core:核心标签库
  • fmt:格式化标签库
  • sql:数据库标签库(过时)
  • xml:xml标签库(过时)


使用taglib指令导入标签库

在使用标签的JSP页面中使用taglib指令导入标签库

下面是导入JSTL的core标签库:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

prefix="c",可以随便给值,但大家都用的c

uri="http://java.sun.com/jstl/core",标签库的uri


<c:out>:输出

<c:out value="${code }"/>

value:可以是字符串常量,也可以是EL表达式
default:当要输出的内容为null时,会输出default指定的值
escapeXml:默认值为true,表示转义!


<c:set>:设置(创建域的属性)

<c:set var="a" value="hello" scope="session"/>

在session中添加name为a,value为hello的数据
value:变量值,可以是EL表达式
scope:域,默认为pageContext,可选值:pageContext、request、session、application


<c:remove>:删除域变量

<c:remove var="a" scope="page"/>

删除pageContext中name为a的数据!


<c:url>

<c:url value="/AServlet"/>

输出:/项目名/AServlet

子标签<c:param>,用来给url后面添加参数

<c:url value="/AServlet">
    <c:param name="username" value="abc"/>
    c:param name="password" value="123"/>
</c:url>

输出:/项目名/AServlet?username=abc&password=123


<c:if>
对应java中的if语句

<c:if test="布尔类型">...</c:if>,当test为值时,执行标签体内容!


<c:choose>
它对应java中的if/else if/ ... /else

<c:choose>
  <c:when test="">...</c:when>
  <c:when test="">...</c:when>
  <c:when test="">...</c:when>
   ... 
  <c:otherwise> ...</c:otherwise>
</c:choose>


<c:forEach>

<c:forEach var="i" begin="1" end="10"> 
<c:out value="${i}" /> 
</c:forEach>

var:循环变量
begin:设置循环变量从几开始。
end:设置循环变量到几结束。
step:设置步长!等同与java中的i++,或i+=2。step默认为1

用来输出数组、集合

<c:forEach items="${strs }" var="str">
     ${str}<br/>
</c:forEach>

items:指定要循环谁,它可以是一个数组或一个集合


输出循环状态
使用varStatus来创建循环状态变量

  • count:循环元素的个数
  • index:循环元素的下标
  • first:是否为第一个元素
  • last:是否为最后一个元素
  • current:当前元素

<c:forEach items="${list }" var="ele" varStatus="vs">
   ${vs.index} ${vs.count } ${vs.first } ${vs.last } ${vs.current }<br/>
</c:forEach>


fmt:格式化:日期、数字(格式化库)

导库

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


格式化时间

<%
    Date date = new Date();
    request.setAttribute("date", date);

%>

<fmt:formatDate value="${requestScope.date }" pattern="yyyy-MM-dd HH:mm:ss"/>

把当前时间设置格式为yyyy-MM-dd HH:mm:ss,从result域中查找date。


格式化数字

<%
    request.setAttribute("num1", 3.1415926);
%>

<fmt:formatNumber value="${requestScope.num1 }" pattern="0.000"/><br/>
<fmt:formatNumber value="${requestScope.num1 }" pattern="#.###"/>

0.000:保留小数点后3位,它会四舍五入!如果不足3位,以0补位!
#.###:保留小数点后3位,它会四舍五入!如果不足3位,不补位!

来自:https://segmentfault.com/a/1190000018626400


站长推荐

1.云服务推荐: 国内主流云服务商/虚拟空间,各类云产品的最新活动,优惠券领取。领取地址:阿里云腾讯云硅云

链接: https://www.fly63.com/article/detial/2480

Html中a标签用法总结:创建email,电话,描点链接等。以及防止链接被搜索引擎收录

a标签是我们常用的一个标签之一,这篇文章主要讲解如何使用a来创建email,电话,描点链接等。以及防止链接被搜索引擎收录。

web标签语义化的理解_web语义化是什么意思

Web语义化,使用语义恰当的标签,可以让页面具有良好的结构,页面元素具有良好的含义,从而让人和机器都能快速理解。语义化的web页面一方面可以让机器在更少的人类干预情况下收集并研究网页的信息,从而可以读懂网页的内容

HTML中<base>标签的正确使用

<base> 标签必须位于 <head> 元素内部,在一个文档中,最多能使用一个 <base> 标签,使用了<base>标签的链接后,其他链接必须在<base>标签的链接里面,不然将无法找到。

使用Map标签指定点击区域时的兼容性问题

因为map标签用的较少,而常用的label标签中的for属性,是不需要加#的,加上了反而会有错。当然,label和map中的用法也不同,不论如何,引以为戒

html 标签优化_如何优化网站HTML标签代码优化

如何优化网站HTML标签代码优化?选用合适的标签、htm5提供了很多类型的input的type类型、使用html5语义化标签等

js动态添加html标签和属性_手动插入meta、script、div、img等标签

web网页是由 html标签一层层组成的,js也可以动态添加对应的标签,比如mate标签、script标签、div标签、img标签等,动态创建的方法基本都差不多,下面将简单介绍下如何实现

head里两个重要标签base和meta

<base>我们并不常用的一个标签,但是一旦用得不当会带来灾难性的影响。meta标签日常开发中我们用得更多的是meta标签,分为3类:具有charset属性的meta 、带有http-equiv 属性的 meta

<script>标签的属性

src定义引用外部脚本的URI,这可以用来代替直接在文档中嵌入脚本。指定了 src 属性的script元素标签内不应该再有嵌入的脚本。type该属性定义script元素包含或src引用的脚本语言。

10 个不常用但你有必要知道的 html 标签

HTML 也被称为超文本记语言( hyper text markup language )是为网页创建和其他可在网页浏览器中看到的信息设计的一种标记语言。HTML 被用来结构化信息,如标题、段落和列表等,也可用来在一定程度上描述文档的外观和语义。

html的title和alt的区别

alt标签是html标签的属性,而title即使标签,又是标签的属性。 当title作为属性时,用来为元素提供额外的说明信息。当鼠标移入变迁内会显示title的内容,以达到补充说明或提示的效果。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!