jstl core标签

JSTL标签之core标签的使用 参考:http://blog.csdn.net/qq_25827845/article/details/53311722 核心标签库的导入 常用标签: 1.out标签: 2.set标签: var变量名 value变量的值 3.remove标签: 删除所有域中变量a 4.url标签: 输出上下文路径:/项目名/ 5.if标签: 满足test中条件时执行if标签中内容 6. 阅读详情

转:http://xuliangyong.iteye.com/blog/68640

JSTL(JSP标准标签库)介绍 





作者:令少爷(shaoye@dev-club.com) 

前言 

从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。 
因为工作中需要用到JSTL,但网上却苦于找不到有关JSTL的中文资料,所以就有了这篇文章。 

JSTL简介 

JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。 
JSTL目前的最新版本为1.02,最终发布版为1.0。JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签: 标签 URI 前缀 示例 
Core http://java.sun.com/jstl/core c <c:tagname ...> 
XML processing http://java.sun.com/jstl/xml x <x:tagname ...> 
I18N capable formatting http://java.sun.com/jstl/fmt fmt <fmt:tagname ...> 
Database access (SQL) http://java.sun.com/jstl/sql sql <sql:tagname ...> 


Core支持JSP中的一些基本的操作; 
XML processing支持XML文档的处理; 
I18N capable formatting支持对JSP页面的国际化; 
Database access (SQL)支持JSP对数据库的操作。 

由于本人水平有限,本文仅介绍Core标签,如有兴趣,可一起探讨其它三种标签的使用与扩充。 

EL语言介绍 

EL语言是JSTL输出(输入)一个JAVA表达式的表示形式。 
在JSTL中,EL语言只能在属性值中使用。EL语言只能通过建立表达式${exp1}来进行调用。在属性值中使用表达式有三种方式。 

1、 value属性包含一个表达式 
<some:tag value="${expr}"/> 
在这种情况下,表达式值被计算出来并根据类型转换规则赋值给value属性。比如:<c:out value="${username}" />中的${username}就是一个EL,它相当于JSP语句<%=request.getAttribute(“username”)%>或<%=session.getAttribute(“username”)%> 

2、 value属性包含一个或多个属性,这些属性被文本分割或围绕 
<some:tag value="some${expr}${expr}text${expr}"/> 
在这种情况下,表达式从左到右进行计算,并将结果转换为字符串型(根据类型转换规则),并将结果赋值给value属性 

3、 value属性仅仅包含文本 
<some:tag value="sometext"/> 
在这种情况下,字符串型属性value将根据类型转换规则转换为标签所希望的类型。 

EL语言的操作符 
取得某个对象或集合中的属性值 
为了获得集合中的属性,EL支持以下两种操作 
1. 使用.操作符来获得有名字的属性。例如表达式${user.username}表明对象user的username属性 
2. 使用[]操作符来获得有名字或按数字排列的属性。 
表达式${user["username"]}和表达式${user. username }含义相同 
表达式${row[0]} 表明row集合的第一个条目。 
在这里user是一个类的对象,它的属性username必须符合标准JavaBean的规范,即必须为username属性定义相应的getter、setter方法。 

Empty操作符(空值检查) 

使用empty操作符来决定对象、集合或字符串变量是否为空或null。例如: 
${empty param.username} 
如果request的参数列表中的username值为null,则表达式的值为true。 EL也可以直接使用比较操作符与null进行比较。如${param.firstname == null}。 
比较操作符 操作符 描述 
==或eq 相等检查 
!=或ne 不等检查 
<或lt 小于检查 
>或gt 大于检查 
<=或le 小于等于检查 
>=或ge 大于等于检查 

数字运算符与逻辑运算符均与JAVA语言相同,不再列表。 

Core标签库 

1、 通用标签 

<c:out> 
<c:out>标签用于在JSP中显示数据,它有如下属性 属 性 描 述 是否必须 缺省值 
value 输出的信息,可以是EL表达式或常量 是 无 
default  value为空时显示信息 否 无 
escapeXml 为true则避开特殊的xml字符集 否 true 



例子: 您的用户名是: <c:out value=”${user.username}” default=”guest”/> 

显示用户的用户名,如为空则显示guest 
<c:out value="${sessionScope.username}"/> 

指定从session中获取username的值显示; 
<c:out value="${username}" /> 

显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示。 

<c:set> 
<c:set>标签用于保存数据,它有如下属性 属 性 描 述 是否必须 缺省值 
value 要保存的信息,可以是EL表达式或常量 否  
target 需要修改属性的变量名,一般为javabean的实例 否 无 
property 需要修改的javabean属性 否 无 
var 需要保存信息的变量 否 无 
scope 保存信息的变量的范围 否 page 

如果指定了target属性, 那么property属性也必须指定。 
例子: <c:set value="${test.testinfo}" var="test2" scope=”session” /> 

将test.testinfo的值保存到session的test2中,其中test是一个javabean的实例,testinfo是test对象的属性。 
<c:set target="${cust.address}" property="city" value="${city}"/> 

将对象cust.address的city属性值保存到变量city中 

<c:remove> 
<c:remove>标签用于删除数据,它有如下属性 属 性 描 述 是否必须 缺省值 
var 要删除的变量 是 无 
scope 被删除变量的范围 否 所有范围,包括page、request、session、application等 

例子: <c:remove var="test2" scope="session"/> 

从session中删除test2变量。 

2、 流控制标签 

<c:if> 

<c:if>标签有如下属性 属 性 描 述 是否必须 缺省值 
test 需要评价的条件,相当于if (...){}语句中的条件 是 无 
var 要求保存条件结果的变量名 否 无 
scope 保存条件结果的变量范围 否 page 


<c:choose> 
这个标签不接受任何属性 

<c:when> 
<c:when>标签有以下属性 属 性 描 述 是否必须 缺省值 
test 需要评价的条件 是 无 


<c:otherwise> 
这个标签同样不接受任何属性 

例子: <c:if test="${user.wealthy}"> 
user.wealthy is true. 
</c:if> 

如果user.wealthy值true,则显示user.wealthy is true. 

<c:choose> 
<c:when test="${user.generous}"> 
user.generous is true. 
</c:when> 
<c:when test="${user.stingy}"> 
user.stingy is true. 
</c:when> 
<c:otherwise> 
user.generous and user.stingy are false. 
</c:otherwise> 
</c:choose> 

只有当条件user.generous返回值是true时,才显示user.generous is true. 
只有当条件user.stingy返回值是true时,才显示user.stingy is true. 
其它所有的情况(即user.generous和user.stingy的值都不为true)全部显示user.generous and user.stingy are false. 

由于JSTL没有形如if (){…} else {…}的条件语句,所以这种形式的语句只能用<c:choose>、<c:when>和<c:otherwise>标签共同来完成了。 

3、 循环控制标签 

<c:forEach> 
<c:forEach>标签用于通用数据,它有以下属性 属 性 描 述 是否必须 缺省值 
items 进行循环的项目 否 无 
begin 开始条件 否 0 
end 结束条件 否 集合中的最后一个项目 
step 步长 否 1 
var 代表当前项目的变量名 否 无 
varStatus 显示循环状态的变量 否 无 


例子: <c:forEach items="${vectors}" var="vector"> 
<c:out value="${vector}"/> 
</c:forEach> 

相当于java语句 for (int i=0;i<vectors.size();i++) { 
out.println(vectors.get(i)); 
} 

在这里vectors是一个java.util.Vector对象,里面存放的是String数据,vector是当前循环条件下String对象。实际上这里的vectors可以是任何实现了java.util. Collection接口的对象。 
<c:forEach begin="0" end="100" var="i" step="1"> 
count=<c:out value="${i}"/><br> 
</c:forEach> 


输出: 
count=0 
... 
count=100 

<c:forTokens> 
<c:forTokens>标签有以下属性 属 性 描 述 是否必须 缺省值 
items 进行循环的项目 是 无 
delims 分割符 是 无 
begin 开始条件 否 0 
end 结束条件 否 集合中的最后一个项目 
step 步长 否 1 
var 代表当前项目的变量名 否 无 
varStatus 显示循环状态的变量 否 无 


例子 
<c:forTokens items="a:b:c:d" delims=":" var="token"> 
<c:out value="${token}"/> 
</c:forTokens> 


这个标签的使用相当于java.util.StringTokenizer类。在这里将字符串a:b:c:d以:分开循环四次,token是循环到当前分割到的字符串。 

4.导入文件和URL 

JSTL核心标签库支持使用<c:import>来包含文件,使用<c:url>来打印和格式化URL,使用<c:redirect>来重定向URL。 

<c:import> 
<c:import>标签包含另外一个页面代码到当前页,它有以下属性 属 性 描 述 是否必须 缺省值 
url 需要导入页面的url 是 无 
context /后跟本地web应用程序的名字 否 当前应用程序 
charEncoding 用于导入数据的字符集 否 ISO-8859-1 
var 接受导入文本的变量名 否 page 
scope 接受导入文本的变量的变量范围 否 1 
varReader 用于接受导入文本的java.io.Reader变量名 否 无 
varStatus 显示循环状态的变量 否 无 


<c:url> 
<c:url>标签输出一个url地址,它有以下属性 属 性 描 述 是否必须 缺省值 
url url地址 是 无 
context /后跟本地web应用程序的名字 否 当前应用程序 
charEncoding 用于导入数据的字符集 否 ISO-8859-1 
var 接受处理过的url变量名,该变量存储url 否 输出到页 
scope 存储url的变量名的变量范围 否 page 


例子: 
<c:import url="http://www.url.com/edit.js" var="newsfeed"/> 


将url http://www.url.com/edit.js包含到当前页的当前位置,并将url保存到newsfeed变量中 
<a href="<c:url url="/index.jsp"/>"/> 


在当前页的当前位置输出<a href="http://www.yourname.com/index.jsp"/>,http://www.yourname.com是当前页的所在的位置。 


<c:redirect> 
<c:redirect>标签将请求重新定向到另外一个页面,它有以下属性 属 性 描 述 是否必须 缺省值 
url url地址 是 无 
context /后跟本地web应用程序的名字 否 当前应用程序 

例子: 
<c:redirect url="http://www.yourname.com/login.jsp"/> 


将请求重新定向到http://www.yourname.com/login.jsp页,相当于response.setRedirect("http://www.yourname.com/login.jsp"); 

<c:param> 
<c:param>标签用来传递参数给一个重定向或包含页面,它有以下属性 属 性 描 述 是否必须 缺省值 
name 在request参数中设置的变量名 是 无 
value 在request参数中设置的变量值 否 无 

例子: 
<c:redirect url="login.jsp"> 
<c:param name="id" value="888"/> 
</c:redirect> 

将参数888以id为名字传递到login.jsp页面,相当于login.jsp?id=888
JavaWeb核心技术系列教程(29)——JSTL Core标签库 Core标签库是JSTL中的核心标签库,该库中包含Web应用中通用操作的标签。在JSP页面中,可使用taglib指令引入Core标签库:<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 在此,我们对该库中的常用标签进行详细讲解。 阅读详情

相关推荐

宝马项目化流程标准(BMW ABC flyer requirement)

宝马项目化流程标准(BMW ABC flyer requirement)

于大博 7254

JSTL中的Core标签库

JSTL中的Core标签库 以下所涉及到的软件有eclipse2021-09、tomcat9、jdk1.8、jstl的jar包;点击这里跳转jstljar包下载(PS:本文所用的实验代码均为JavaWeb程序设计任务教程的配套代码) 选择 jakarta-taglibs-standard-1.1.2.zip 进行下载 下载后解压在lib文件夹里有相应的jar包。 在eclipse中新建web项目并且将包导入 创建一个Orders类代码如下: public class Orders { private

wbl9904的博客 1477

【CQUT】从零开始龙芯杯-开始前的准备

不同级别的Cpu对于vivado综合的时间有较大影响,其中Cpu的单核、多核性能以及cache性能影响权重较高。因此,为了保证学习进度和效率,我们建议在Cpu不低于I5 12400的环境下进行学习。Vivado2023.2安装包约100GB,为了保证成功安装建议留出300GB硬盘空间。龙芯杯的许多资料被托管在gitee,你需要git指令将资料克隆到本地。指定用书:CPU设计实战 Loongarch版 作者:汪文祥、邢金璋。Cpu性能对比网站:https://www.cpu114.com/

weixin_73689971的博客 911

JSTL标签引入

 

to_cm的专栏 1万+

保姆级教程:用掘金量化API手把手复现一个年化17%的网格交易策略(附完整Python代码)

本文提供了一份详细的掘金量化API教程,手把手教你构建一个年化17%的网格交易策略。通过完整的Python代码实现,深入解析网格交易的核心逻辑、参数配置和动态调仓机制,帮助量化新手快速掌握策略开发全流程。教程包含环境配置、代码实现、回测分析和常见问题解答,是学习量化投资的实用指南。

weixin_33709364的博客 300

你不知道的Postman的Mock接口测试,看这一篇就够了

创建Mock服务你可以从Postman已有的测试集(Collection)中创建Mock Server或者直接创建Mock Server(我们这里选择从已有的测试集中创建Mock Server)Mock server详细配置页面,在此页面中我们可以设置:命名Mock Server选择一个环境(可选的),我们可以选择之前设置过的环境,Mock Server将会使用对应环境中设置过的变量在对应的请求和响应中如果想要将Mock Server设置私有访问的,那么可以勾选此选项,不勾选则对所有人可见。

654

JSTL中的Core标签库总结(一)

(一)什么是JSTL?它有什么作用? 说明: JSTL是由sun公司制定的一套标准标签库,它可以简化JSP代码量、使得JSP开发者维护工作更加容易。 JSTL标签库有:Core、|18N、SQL、XML、Functions分别对应的前缀c、fmt、sql、x、fn. (二)实现一个简单JSTL案例在项目中lib中导入 jstl-1.2.jar、jstl-standard.jar<%@ page

凯耐的博客 3910

时间序列聚类在股票市场分析中的实践与优化

时间序列聚类是一种面向动态行为建模的无监督学习方法,其核心在于通过语义感知的距离度量(如DTW)捕捉价格形态的相位弹性与结构相似性,而非依赖静态数值或标签驱动。相比K-Means等传统算法,它能有效缓解金融时序中普遍存在的噪声敏感、对齐失效与形态失真问题,从而提升聚类结果的市场可解释性与策略鲁棒性。该技术已广泛应用于市场状态识别、行业行为分群、异常交易监测等场景,并成为构建可验证量化分析框架的关键预处理层。本文聚焦A股真实行情数据,详解从原始OHLCV到可聚类时间序列的完整链路,涵盖DTW距离计算、层次聚类

weixin_34220179的博客 831

7.4 JSTL中的Core标签库

JSTL(JavaServer Pages 标准标签库)是一个功能强大的 JSP 页面库,包含多个标签库。其中,Core 标签库是最常用的,提供了在 Web 应用程序中常见操作的标签。本文将深入介绍 Core 标签库中的重要标签,并通过详细示例解释它们的用法。

tang7mj的博客 1258

Oracle Primavera P6实战手册:从入门到精通的企业项目管理秘籍

本文详细介绍了Oracle Primavera P6在企业项目管理中的实战应用,从环境配置到高级进度控制技巧,帮助用户从入门到精通。通过WBS设计、资源优化和情景模拟等核心功能,提升项目管理效率。特别适合需要处理复杂项目和多团队协作的企业用户。

weixin_29235923的博客 254

国家医保移动支付国密算法SM2签名验签、SM4加解密DLL

DLL,非.net开发,所以无需安装配置,直接程序引用开发即可,支持各类开发语言。已知省份有广西、贵州、安徽、河北、黑龙江、湖南、吉林、江苏、四川、新疆等各地方。国家医保移动支付国密算法SM2签名验签、SM4加解密DLL。//SM4加密与解密。支持医保移动支付(国家统一版),//SM2签名与验签。

4266

Jstl Core标签

http://zhaozhiqiang1981.blog.hexun.com/13574054_d.html 在 JSTL1.1 中有以下这些标签库是被支持的: Core 标签库、 XML processing 标签库、 I18N formatting 标签库、 Database access 标签库、 Functions 标签库。对应的标识符见表2 所示: 表2 标签库的标识符...

101

CSRT跟踪算法的使用

Fu Xianjun. All Rights Reserved. 文章目录 前言 一、CSRT跟踪算法是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考 一、CSRT跟踪算法是什么? 在具有通道和空间可靠性的判别相关滤波器(DCF-CSR)中,我们使用空间可靠性图将滤波器支持调整为从帧中选择区.

sinat_53821602的博客 7906

JSTL标签库-core核心标签库

model:应用程序要显示的数据,存的那些要显示的数据,javaBean view:展示的内容,jsp control:负责业务处理的逻辑,比如doLogin就是处理登录的逻辑。 JSTL: 标签库: 1. request.setAttribute("loginUser",user); <c:remove > request.setAttribute("myStrin...

Begin_W_T_E_I_M的博客 572

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

JSTL标签库之core标签库

JSTL标签库 1:jsp标准标记库(JSP Standard Tag Library,JSTL):是一个实现Web应用程序中常用功能的定制标记库集,功能包括输出、程序流程控制、数据格式化、XML操作以及数据库访问等。 2:jstl标签库:实现大量服务器端 Java 应用程序常用的基本功能。通过为典型表示层任务(如数据格式化和迭代或条件内容)提供标准实现,JSTL 使 JSP 作者可以专注于特

Kiss键 664

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JSTL-core核心标签库源代码及讲解

Core 标签库 一、通用标签: 1、标签 String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";

雪狼小记 4213

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JSTL标签库之Core

JSTL JSP Standard Tag Library JSP标准标签库 所谓标签(Tag)

yesterday you said tomorrow 1491

JSTL及其核心(Core)标签库

自定义JSP标签是用来替代JSP中的Java程序片段的有效途径。大多数web应用的JSP文件常常要实现一些通用的功能。为了提高web应用的开发效率,SUN公司制定了一组标准标签库的规范,这组标准标签库称为JSTL(JSP Standard Tag Library)。 JSTL标签库实际上包含5个不同的标签库。JSTL1.1规范为这些标签库的URI和前缀做了约定。 JSTL标签库的种类

confirmAname的专栏 1462

JavaWeb---JSTL标签库(core标签库)

1,JSTL的介绍 JSTL是Apache对EL表达式的扩展,JSTL依赖EL表达式。它是标签语言,与JSP动作标签差不多,但是不能直接使用,需要导包(JSTL1.2.jar),以及制定标签库。 2,JSTL标签库(四大库) (1)core:核心标签库,重点! (2)fmt:格式化标签库,学习其中的两个标签。日期和数字的格式化。 (3)sql:数据库标签和XML:xml标签库不学了,过时

白夜行 876

JSTL-Core标签库

JSTL 标签库介绍     在 JSTL1.1 中有以下这些标签库是被支持的: Core 标签库、 XML processing 标签库、 I18N formatting 标签库、 Database access 标签库、 Functions 标签库。对应的标识符见表 9.2 所示: 下面看例 9.5 ,简单使用标签库的示例。 例 9.5 :简单 JSTL 标签库示例

洪文聊架构 1061

JSTL详解--Core 标签库

在 JSTL1.1中有以下这些标签库是被支持的: Core标签库、 XML processing标签库、 I18N formatting标签库、 Database access标签库、 Functions标签库。对应的标识符见表2所示: 表2 标签库的标识符 标签库 URI 前缀 Core http://java.sun.com/jsp/jstl/core c XML processi...

pengfei195的博客 403

JSTL core标签库

JSTL标签库 JSTL主要有五大类标签库 core标签库(核心标签库),包括通用标签(输出标签),流程控制和循环控制标签 fmt标签库,包括格式化,国际格式化标签等 fn标签库,函数标签库 XML标签库,关于XML操作的标签库 SQL标签库,操作数据库标签 core标签库用法 使用core标签前必须添加taglie指令 %@ taglib prefix=“c” uri=“http://ja...

那个有故事又努力的人啊 436

JSTL及Core标签库

JSTL是一个不断完善的开放源代码的JSP标签库,使用JSTL可以取代在传统JSP程序中嵌入Java代码的做法,大大提高程序的可维护性。JSTL包含五类标准标签库,它们分别是和。在使用这些标签库之前,必须在JSP页面的顶部使用指定定义引用的标签库和访问前缀。以下为此五种标签库的引用指令格式和作用:(1)使用核心标签库的taglib指令格式核心标签库主要用于完成JSP页面的常用功能,包括JSTL的表达式标签、URL标签、流程控制标签。

Thewei666的博客 1355
上一篇: dell
下一篇: JSP分割字符串
lcathm
博客等级 码龄18年 37粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值