jstl

JSTL基础

落爺英雄遲暮 提交于 2020-03-08 10:33:47
JSTL 概念: JavaServer Pages Tag Library JSP标准标签库,由apache开源 作用: 用于简化和替换jsp页面上的java代码 使用步骤: 1.导入jstl相关jar包 2.引入标签库:taglib指令:<%@ tagilb %> 3.使用标签 常用的JSTL标签 1.if:相当于java代码的if语句 c:if标签 1.属性: test 必须属性,接受boolean表达式 如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容 一般情况下,test属性值会结合el表达式一起使用 2.注意:c:if标签没有else情况,想有else情况,则可以再定义一个c:if标签 < c: if test = " true " > < h2 > 我是真。。。 </ h2 > </ c: if > <% //判断request域中的一个list集合是否为空,如果不为空则显示遍历集合 List list=new ArrayList(); list.add("aaa"); request.setAttribute("list",list); request.setAttribute("number",3); %> < c: if test = " ${not empty list} " > 遍历集合 </ c: if > < br > <

JSTL 学习、应用记录

你说的曾经没有我的故事 提交于 2020-03-06 19:37:31
原来一直没有看过,我说过我是新手,但是好多资料上似乎也不重视 JSTL 。我看项目源代码发现其中使用到了这个标签库,感觉其还真是方便,页面看起来更加清爽。减少了 JAVA 程序员亲自写的代码量,还真验证了,不懒不做程序员,程序员如果写代码不想着偷懒,那么生活是很无趣的。 下面总结总结,学习学习。:) JSP 标准标记库( Standard Tag Library , JSTL) 是一组以标准化格式实现许多通用的 Web 站点功能的定制标记。 JSP 技术的优势之一在于其定制标记库工具。除了核心 JSP 标记,如 jsp:include 之外,定制标记库工具使您能够创建唯一的标记来描述以站点或应用程序为导向的操作。一旦您创建了定制标记库 ( 简称 taglib) ,当您扩展项目或转向另一个项目时您可以重复使用这些标记。您还可以将 taglib 传递给其它开发人员,从而他们可以在自己的网站上使用,或者在您 Web 应用程序的其它部分使用。 JSTL 的目标是为了简化 JSP 页面的设计。对于页面设计人员来说,使用脚本语言(默认值是 JAVA 语言)操作动态数据是比较困难的,而采用标签和表达式语言相对容易一些, JSTL 的使用为页面设计人员和程序开发人员的分工协作提供了便利。 一. 配置 JSTL 包括两个 JAR 文件, jstl.jar 和 standard.jar

JSTL与EL表达式(为空判断)

情到浓时终转凉″ 提交于 2020-03-06 19:27:26
JSTL与EL表达式(为空判断) 博客分类: Java el jstl 一、循环遍历集合 1、在jsp中引入标准函数声明 <%@ taglib uri=" http://java.sun.com/jsp/jstl/core " prefix="c"%> 2、若要判断集合的大小,则需要引入如下声明 <%@ taglib prefix="fn" uri=" http://java.sun.com/jsp/jstl/functions " %> 3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 <c:if test="${empty user}">无信息!</c:if>为空 <c:if test="${!empty user}">其它</c:if>非空 4、如何取得集合的大小 ${fn:length(集合名<如果是session中的集合则应该加上sessionScope.键>)} ${fn:length(map)} 5、如何取得保存在session中的对象? ${sessionScope.键.对象属性} 6、varStatus显示循环变量的状态 例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status" <tag:if test="${status%2==1

JSTL与EL表达式(为空判断,集合长度)

邮差的信 提交于 2020-03-06 19:23:07
1、在jsp中引入标准函数声明 <%@ taglib uri=" http://java.sun.com/jsp/jstl/core " prefix="c"%> 2、若要判断集合的大小,则需要引入如下声明 <%@ taglib prefix="fn" uri=" http://java.sun.com/jsp/jstl/functions " %> 3、如何使用jstl判断集合是否为空 ${user}为集合,user为集合名 <c:if test="${empty user}">无信息!</c:if>为空 <c:if test="${!empty user}">其它</c:if>非空 4、如何取得集合的大小 ${fn:length(集合名<如果是session中的集合则应该加上sessionScope.键>)} ${fn:length(map)} 5、如何取得保存在session中的对象? ${sessionScope.键.对象属性} 6、varStatus显示循环变量的状态 例:<tag:forEach var="currentFood" items="${sessionScope.foods}" varStatus="status" <tag:if test="${status%2==1}"> ..................... </tag:if> </tag

jstl中<c:forEach>的用法

纵饮孤独 提交于 2020-03-06 19:10:30
jstl中<c:forEach>的用法 在JSP的开发中,迭代是经常要使用到的操作。例如,逐行的显示查询的结果等。在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出。现在,通过JSTL的迭代标签可以在很大的程度上简化迭代操作。 JSTL所支持的迭代标签有两个,分别是< c : forEach >和< c :forTokens>。在这里介绍的是< c : forEach >标签。 简单点说,< c : forEach >标签的作用就是迭代输出标签内部的内容。它既可以进行固定次数的迭代输出,也可以依据集合中对象的个数来决定迭代的次数。 < c : forEach >标签,需要与el表达式联合使用 < c : forEach >标签的语法定义如下所示。 < c : forEach var="每个变量名字" items="要迭代的list" varStatus="每个对象的状态" begin="循环从哪儿开始" end ="循环到哪儿结束" step="循环的步长"> 循环要输出的东西 </ c : forEach > < c : forEach >标签具有以下一些属性: l var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。 l items:要进行迭代的集合

jsp、EL表达式及jstl的介绍与注意事项

我怕爱的太早我们不能终老 提交于 2020-03-06 09:12:15
Jsp (是一个简化的servlet设计) servlet技术:在java代码中嵌套html.擅长java代码编写 Jsp技术: html输出时比较便捷,在html中嵌套java代码.擅长页面显 Jsp的传统标签:脚本、指令、标签 脚本:是jsp中嵌入的java代码 指令作用就是申明页面的属性 标签分为jsp子代内置标签和通过taglib指令来使用jsp标签库,或自定义标签 jsp脚本和注释 1.jsp脚本: 1)<%java代码%> ---内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> ---会翻译成service方法内部out.print() 3)<%!java代码,方法,属性%> ----会被翻译成service的成员内容,声明方法和属性(全局变量) jsp注释:(不同的注释可见范围不同) 1) Html注释:<!--注释内容--> 可见范围jsp源码、翻译后的servlet、页面显示html源码 2) java注释://单行注释 /*多行注释*/ 可见范围jsp源码、翻译后的servlet 3 ) jsp注释<%--注释内容--%> 可见范围jsp源码 2.jsp运行原理----jsp本质就是servlet jsp在第一次被访问时会被Web容器翻译成servlet,再执行 过程: 第一次访问--->helloServlet.jsp----

JSTL中的c:forEach, c:forTokens标签

巧了我就是萌 提交于 2020-03-05 02:32:51
JSTL中的forEach forTokens标签 forEach语法格式 forTokens语法格式 属性 forEach实例演示 forTokens演示实例 补充一 补充二 补充三 参考教程链接: cforEach, cforTokens标签 这两个标签封装了Java中的for,while,do-while循环。 相比而言, <c:forEach> 标签是更加通用的标签,因为它迭代一个集合中的对象。 <c:forTokens> 标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。 forEach语法格式 < c : forEach items = "<object>" begin = "<int>" end = "<int>" step = "<int>" var = "<string>" varStatus = "<string>" > ... forTokens语法格式 < c : forTokens items = "<string>" delims = "<string>" begin = "<int>" end = "<int>" step = "<int>" var = "<string>" varStatus = "<string>" > 属性 forEach实例演示 < % @ page language = "java" contentType =

OGNL, JSTL, STRUTS2标签中符号#,$,%的用法示例

℡╲_俬逩灬. 提交于 2020-03-02 11:05:18
取Session中的值 <c:out value="${sessionScope.user.userId}"></c:out><br> <c:out value="${user.userLoginName}"></c:out><br> <s:property value="#session.user.userId"/><br> ${session.user.userId}<br> ${sessionScope.user.userId}<br> 基本语法 一、EL简介 1.语法结构 ${expression} 2.[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如: ${sessionScope.user[data]}中data 是一个变量 3.变量 EL存取变量数据的方法很简单,例如:${username}。它的意思是取出某一范围中名称为username的变量。 因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、Application范围查找。 假如途中找到username,就直接回传

JSP复习(四):JSTL标记

吃可爱长大的小学妹 提交于 2020-03-02 08:32:35
JSTL优势:在于EL和标准动作无法达到目的,又不使用脚本代码。( JSTL 1.1不是JSP2.0规范的一部分,TOMCAT高版本已经自带了JSTL的JAR包 ) 使用JSTL需要使用指令,引入JSTL <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 8.3 核心标签库 JSTL核心标签库包含了一组用于实现WEB应用中的通用操作的标签,JSP规范为核心标签库建议的前缀名为c。 8.3.1 <c:out>标签 <c:out> 标签用于输出一段文本内容到pageContext对象当前保存的“out”对象中,在通常情况下,pageContext对象当前保存的“out”对象的数据是输出到客户端浏览器,所以,<c:out> 标签通常用于输出一段文本内容到客户端浏览器。如果<c:out> 标签输出的文本内容中包含了需要进行转义的HTML特殊字符,例如,<、>、'、"、&等,<c:out> 标签默认对它们按表8.2进行HTML编码转换后再进行输出,这样就可以在浏览器中显示出这些字符。 表8.2 特殊字符转换 <c:out>标签标签有两种语法格式: 语法1 ,没有标签体的情况: <c:out value=" value " [escapeXml="{true|false}"] [default="

JSTL 标签 <c:if> 判断参数是否为空

為{幸葍}努か 提交于 2020-02-28 20:02:50
在项目中使用 JSP 作为页面视图层,现在需要判断某个字段是否为空,空就不显示,不为空呢则显示。 在这里可以使用 JSP 的标准标签库 JSTL 中的核心标签 <c:if> 判断参数是否为空。 首先引入核心标签库: <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 参数为空 <c:if test="${empty str}"> str 为空</c:if> 参数不为空 <c:if test="${not empty str}"> str 不为空</c:if> 判断对象是否为空,如果为空不显示出来 <c:if test="${not empty obj.name}"> <c:out value="${obj.name}" escapeXml="false"/> </c:if> <c:out> 标签用于在 JSP 中显示数据,就像 <%= ... > 水平有限,若有问题请留言交流! 互相学习,共同进步:) 转载请注明出处谢谢! 来源: oschina 链接: https://my.oschina.net/u/3198481/blog/1841967