- 浏览: 83912 次
最新评论
-
h416373073:
内容不多
properties几点注意事项 -
编程的石头:
COPY过去了,呵呵,偷点懒,没看懂的可以去看下这篇文章,原理 ...
Log4j多个日志文件 -
tianwaishan:
路过,,,,
properties几点注意事项 -
rich3385:
好贴,有帮助,如果能深入详细一些就更好了。
Birt初探 -
spacefly:
顶 ssss
利用开源组件制作验证码
祝恩师们节日快乐!
JSP 标准标记库(JSP Standard Tag Library,JSTL)主要功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问等等。在MVC模式中作为页面展现jstl是一个不错的选择,使用起来也感觉比较舒服。现将常用的标签介绍如下:
Core Actions Action Description
<c:catch> 主要用于异常的捕获
<c:choose> 相当于switch的作用
<c:forEach> 主要用于集合、数组等等的迭代
<c:forTokens> 主要用于字符串的迭代
<c:if> 条件语句
<c:import> Imports a URL
<c:otherwise> 相当于switch中的default
<c:out> 主要用于输出
<c:param> 主要用于为 <c:import> or <c:url>指定参数
<c:redirect> 重定向
<c:remove> Removes a scoped variable
<c:set> Creates a scoped variable
<c:url> 重写url
<c:when> 相当于switch中的case
一、在jsp中要使用jstl标签首先要声明对标签的引用:
1.jakarta-taglibs-standard-1.0版本声明
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
2.jakarta-taglibs-standard-1.1版本声明
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
二、使用
1.<c:set>定义变量
(1)语法:<c:set var=" " name=" " scope=" " value=" " expression=" "/> scope 属性是可选的,其缺省值是 page 。
(2)例子:<c:set var="name" value="yourName" />
2.<c:out>输出语句
(1)语法:<c:out value=" " expression=" " default=" " expression=" " escapeXml="boolean"/>
escapeXml 属性也是可选的。true:输出代码,false:输出真正内容。它控制当用 <c:out> 标记输出诸如“<”、“>”和“&”之类的字符(在 HTML 和 XML 中具有特殊意义)时是否应该进行转义。如果将 escapeXml 设置为 true,则会自动将这些字符转换成相应的 XML 实体(此处提到的字符分别转换成 < 、 > 和 & )。
带缺省内容的 <c:out> 操作示例
Hello <c:out value="${user.username}" default=="Guest"/>! default属性作用于如果提供的变量不存在则使用该属性定义的值。
禁用转义的 <c:out> 操作示例
<c:out value="${user.company}" escapeXml=="false"/>
组合静态文本和多个 EL 表达式以指定动态属性值:
<c:out value="Hello ${user.firstName} ${user.lastName}"/>
<1>.点运算符通常用于访问对象的属性。如在表达式 ${user.firstName} 中,使用点运算符来访问 user 标识符所引用对象的名为firstName 的属性。当被访问的属性本身是对象时,可以递归地应用点运算符。例如,如果我们虚构的 user 对象有一个实现为 Java 对象的address属性,那么也可以用点运算符来访问这个对象的和。例如,表达式 ${user.address.city} 将会返回这个地址对象嵌套的 city 属性。
<2>.方括号运算符用来检索数组和集合的元素。例如,表达式 ${urls[0]} 返回 urls 标识符所引用的数组或集合的第1个元素。
在方括号中指定键,并将相应的值作为表达式的值返回。例如,表达式 ${commands["dir"]} 返回与 commands 标识符所引用的 Map 中的 "dir" 键相关联的值。此外,点运算符和方括号运算符还可以互操作。例如,如果数组的元素本身是对象,则可以使用方括号运算符来检索该数组的元素,并结合点运算符来检索该元素的一个特性(例如 ${urls[0].ip}。
(2)例子:
<c:out var='name'/>
3.<c:if>条件语句
(1)语法:<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>
test属性定义的是条件表达式。
(2)例子:
<c:if test="${sessionScope.list!=null and sessionScope.list!=''}">
<c:set var="list" value="${list}," scope="session" />
</c:if>
<c:if test="${pageContext.request.method=='POST'}">
4.迭代
(1)语法:
<c:forEach items='${primitiveValues}' var='item'>
value = <c:out value='${item}'/><br>
</c:forEach>
实现迭代内容的主要 JSTL 操作是 <c:forEach> 定制标记。该标记支持两种不同样式的迭代:整数范围上的迭代(类似 Java 语言的 for 语句)和集合上的迭代(类似 Java 语言的 Iterator 和 Enumeration 类)。
<c:forEach> 标记的语法。 begin 和 end 属性要么是静态整数值,要么是可以得出整数值的表达式。它们分别指定迭代索引的初始值以及迭代索引的终止值。当使用 <c:forEach> 在整数范围内进行迭代时,这两个属性是必需的,而其它所有属性都是可选的。 当出现 step 时,它也必须是整数值。它指定每次迭代后索引的增量。
items可以为:List, LinkedList, Vector, ArrayList, Stack,Hashtable, HashMap, TreeMap,WeakHashMap,java.lang.Object[],java.lang.String,java.util.Iterator,java.util.Enumeration。
(2)例子:
<c:forEach var='item' begin='5' end='10'>
value = <c:out value='${item}'/><br>
</c:forEach>
输出结果:5 6 7 8 9 10.
<c:forEach var='item' begin='5' end='10' step='2'>
<c:out value='${item}'/>
</c:forEach>
输出结果:5 7 9.
<c:forEach items='ONE, TWO, THREE, FOUR' var='item'>
<c:out value='${item}'/>
</c:forEach>
输出结果:ONE TWO THREE FOUR.
<c:forTokens items='ONE | TWO | THREE | FOUR' delims='|' var='item'>
<c:out value='${item}'/>
</c:forTokens>
输出结果:ONE TWO THREE FOUR.
<c:forTokens items='(A B C)-(D E F)' delims='()' var='item'>
<c:out value='${item}'/><br>
</c:forTokens>
输出结果:(A B C) - (D E F)
5.条件选择语句
(1)语法:
<c:choose>
<c:when test="testCondition">
body content
</c:when>
<c:otherwise>
<c:out value="${param.enter}" />
<br />
</c:otherwise>
</c:choose>
(2)例子:
<c:choose>
<c:when test="${param.enter=='1'}">One
<br />
</c:when>
<c:when test="${param.enter=='2'}">Two
<br />
</c:when>
<c:otherwise>
<c:out value="${param.enter}" />
<br />
</c:otherwise>
</c:choose>
6.异常语句:
(1)语法:
<c:catch var="e">
body-condition
</c:catch>
(2)例子:
<c:catch var="e">
10 divided by 0 is
<c:out value="${10/0}" />
<br />
</c:catch>
<c:import url='http://www.mysite.com/mydoc.txt'/>
7.格式化输出:
(1)语法:
<fmt:formatNumber value="numericValue"
[type="{number|currency|percent}"]
[pattern="customPattern"]
[currencyCode="currencyCode"]
[currencySymbol="currencySymbol"]
[groupingUsed="{true|false}"]
[maxIntegerDigits="maxIntegerDigits"]
[minIntegerDigits="minIntegerDigits"]
[maxFractionDigits="maxFractionDigits"]
[minFractionDigits="minFractionDigits"]
[var="varName"]
[scope="{page|request|session|application}"]/>
type:可以是currency、 number、 和percent。
(2)例子:
<fmt:formatNumber value="12" type="currency" pattern=".00元"/> 将显示 12.00元
<fmt:formatNumber value="12" type="currency" pattern=".0#元"/> 将显示 12.0元
<fmt:formatNumber value="1234567890" type="currency"/> 将显示 ¥1,234,567,890.00
(货币符号与web服务器的 locate 设定相关)
<fmt:formatNumber value="123456.7891" pattern="#,#00.0#"/> 将显示 123,456.79
<fmt:formatNumber value="12" type="percent" />将显示 1,200%
<fmt:formatNumber value="${requestScope.money}" type="currency" pattern="0.00元"/>
<fmt:formatNumber value="500000.01" groupingUsed="false" />
500000.01
<fmt:formatNumber value="98.6" minIntegerDigits="4"/>
0,098.6
<fmt:formatNumber value="98.6" minIntegerDigits="4" groupingUsed="false"/>
0098.6
<fmt:formatNumber value="3.141592653589" maxFractionDigits="2"/>
3.14
<fmt:formatDate value=”${now}” pattern="yyyy-MM-dd"/>
<fmt:message key="Welcome" />
WEB-INF/classes/messages_en.properties
内容:index.num=Welcome to the JSTL
<fmt:message key='index.num' var='msg' scope='request'/>
<context-param>
<param-name>javax.servlet.jsp.jstl.fmt.locale</param-name>
<param-value>zh_CN</param-value>
</context-param>
<fmt:setLocale value='CN'/>
<fmt:requestEncoding value='GB2312'/>
发表评论
-
JEECG我来了!
2013-05-04 17:12 339最 ... -
windows xp CVSNT
2009-02-06 14:22 2191环境:win xp sp2+cvsnt:2.5.04.3236 ... -
properties几点注意事项
2008-12-11 09:09 2988在项目中使用配置文件*.properties的几点注意事项:p ... -
Log4j多个日志文件
2008-11-24 16:51 4833Log4j的基本使用不再在此细说,在工作中有需求要将错误日志信 ... -
JMAGE 处理图片、给图片加水印
2008-08-01 13:56 2067战友是梦,睡也思恋;战友是魂,嵌入心田;战友是金,沉沉甸甸;战 ... -
Struts <html:multibox> <html:select>
2008-07-01 08:51 3266庆贺党的生日! 一、 ... -
利用开源组件制作验证码
2008-06-20 09:47 3836jsp验证码制作 介绍两个功能强大的开源制作验证码组件 ... -
ExtremeTable
2008-05-29 08:56 1621目前开源的JSP分页组件已有很多,像displayTag, ... -
Struts1.X
2008-04-29 09:10 1361文章主要内容是介绍本人在使用Struts过程中常用到的一些特性 ... -
JAVA IO 学习
2008-03-31 08:54 1140简单的创建一个文件: ... -
JAVA中获取路径
2008-02-29 12:59 4273JAVA中获取路径: 1.jsp中取得路径: 以工 ... -
JAVA处理日期时间
2007-12-29 09:43 4947JAVA处理日期时间常用方法: 1.java.util.Ca ... -
Hibernate 闲谈杂记
2007-11-30 12:38 3039Hibernate 闲话杂记 解压缩从Hibernate ... -
Struts+Spring+Hibernate处理Lob(Blob,Clob)
2007-08-13 15:18 8314Struts+Spring+Hibernate处理Lob(B ... -
简述Abstract Class和Interface
2007-08-02 08:57 1505Abstract Class和Interfa ... -
轻松上传文件
2007-08-01 10:04 1830献给建军八十周年 文件上传在JAVA应用中比 ... -
JasperReport+iReport
2007-07-05 17:00 7065JasperForge.org 是开源门户网站 http ... -
Birt初探
2007-06-25 13:38 4715报表是作为企业应用中比较常用的功能模块 ...
相关推荐
**正文** JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中一个重要的标签库,主要用于简化...通过学习和实践这些内容,开发者可以更加熟练地在JSP页面中运用JSTL标签,提升Web应用的开发质量和效率。
总结来说,JSTL1.2是一个强大的JavaWeb开发工具,通过提供一系列预定义的标签,使开发者能够更加专注于页面展现和业务逻辑,而不是底层的Java代码。而这个“jstl1.2.zip”压缩包中的四个组件,共同构成了JSTL1.2的...
例如,可以利用JSTL进行数据展示和控制逻辑处理,而Struts标签库则专注于视图层的展现和动作控制。 总结来说,JSTL是Java Web开发中不可或缺的一部分,它为开发者提供了丰富的标签来简化JSP页面的编写,提高了代码...
从JSP 1.1规范开始,JSP就支持在JSP中使用自定义标签了,自定义标签的广泛使用造成了程序员重复定义,这样就促成了JSTL(JavaServer Pages Standard Tag Library)的诞生。
2. **减少脚本代码**:通过使用JSTL,可以在JSP页面中避免过多的Java脚本,使页面更专注于展现逻辑。 3. **模块化开发**:JSTL提供了多种标签库,如Core库、XML库、SQL库等,方便模块化开发。 4. **与Struts、Spring...
《深入理解EL表达式与JSTL在企业实训中的应用》 在现代Web开发中,EL(Expression Language)表达式和JSTL(JavaServer Pages ...在实际项目中,应根据需求合理选择和组合使用EL和JSTL,以实现最佳的业务逻辑展现。
它提供了一套标准的标签,使得开发者可以在JSP页面中使用标签代替Java脚本(scriptlets)进行业务逻辑处理和数据展现。JSTL的主要目标是提高JSP页面的可读性、可维护性和符合JavaServer Pages 2.0标准。 在传统的...
JSTL,全称JavaServer Pages Standard Tag ...JSTL标签的应用大大减少了JSP页面中的脚本let代码,使得页面更专注于展现逻辑,而将业务逻辑和控制逻辑移到了后台处理。使用JSTL可以使JSP代码更清晰、更易于理解和维护。
Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第06章 用JavaBean、EL和JSTL优化宠物分类展现页面 (共30页).ppt Java网络编程 JAVA web开发实例讲解 宠物分类展现web项目 第07章 用Struts实现宠物商城的...
JSP是Java的一个动态网页技术,它允许在HTML代码中嵌入Java代码,以实现动态内容的生成。在本项目中,JSP页面接收到后端传递的数据后,可以使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag ...
本资源提供了一个高效且易理解的分页解决方案,主要使用Java后端配合JSP(JavaServer Pages)和JSTL(JavaServer Pages Standard Tag Library)在前端进行展现。 首先,让我们详细了解`page`分页处理的核心概念: ...
8. **JSTL(JavaServer Pages Standard Tag Library)**:一套标准的标签库,提供了一些常用的标签来简化JSP页面的开发,如迭代、条件判断、XML处理等。 9. **Servlet与JSP的关系**:JSP最终会被编译成Servlet,...
在第一个动态版本的基础上,使用JSTL/Sevelet/EL/JavaBean优化宠物分类展现的页面代码高版本MyEclipse创建的Web项目已自带,不用添加。 二、开发环境准备 在任务4的开发环境的基础上,下载包jstjar 和standardjar ...
- **JSP页面结构**:JSP页面由静态内容(HTML、CSS、JavaScript)和动态内容(Java代码)组成,通过`<%...%>`、`<%=...%>`、`<jsp:...>`等标签进行区分。 - **JSP生命周期**:包括加载、实例化、初始化、服务、...
本篇文章将详细讲解如何使用JavaServer Pages(JSP)来读取Excel文件中的数据,并以表格的形式在网页上展示,同时考虑字体和背景的样式。 首先,我们需要了解JSP的基础知识。JSP是一种基于Java的动态网页技术,允许...
两者可以结合使用,JSP用于展现,Servlet处理业务逻辑。 【适合初学者的学习路径】 对于初学者,学习JSP应该从理解基本概念和语法开始,然后逐步掌握JSP指令、内置对象的使用,以及EL和JSTL的应用。同时,了解...
1. **JSP**:JSP是一种动态网页技术,允许开发者将HTML代码与Java代码混合编写,从而在服务器端动态生成页面内容。JSP的核心特性包括指令元素、脚本元素、动作元素等,它提供了方便的视图层开发手段。 2. **JSTL**...
JSP(Java Server Pages)标准标签库(JSTL,JavaServer Pages Standard Tag Library)是JSP...在实际开发中,开发者可以根据需求选择使用JSTL提供的不同标签,以实现各种功能,如控制流程、处理数据、展现动态内容等。
在IT行业中,网页开发是一项重要的工作,而动态树形菜单是网页交互设计中常见的元素,尤其在内容层次较多、结构复杂的网站中更为常见。本文将深入探讨“网页动态树形菜单图”这一主题,以及与之相关的JSP技术。 ...
第一种使用了Jsp中的JSTL标签与后台的连接,数据库返回数据,Jsp负责绘制表格,充分展现了前端与后台的分工职能,有利于理解MVC的架构模式。第二种使用了Jsp中的JavaScript的函数功能实现前台与后台的连接,本次使用...