搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原作者!
------------------------------------------------
ttp://xiaofengxp.iteye.com/blog/507566
-----------------------------------------------
一、什么是JSTL
JSTL(JavaServerPages Standard Tag Library)JSP标准标签库。
JSP标准标签库包括核心标签、格式化标签和SQL标签库。JSTL标签一般与EL表达式语言结合使用。本篇介绍核心标签库。
二、核心标签库
核心标签包括通用标签、条件标签和迭代标签。
1、通用标签
- set: set标签用于给变量设置值和作用范围
- remove: remove标签用于删除作用域内的变量
- out: out标签在页面上显示信息或变量值
2、条件标签
- if: 用于条件判断
- choose: 包含when和otherwise二个子标签,类似于switch结构
3、迭代标签
- forEach: 遍历集合
- forTokens: 对格式内容进行分割输出,可以指定一个或者多个分隔符
三、使用JSTL
第一步:在创建工程时将JSTL的jar包引入工程。或者将standar.ar和jstl.jar拷贝到WEB-INF/lib下。
第二步: 第二步:导入JSTL标签库
示例1
-
<%
@page
language=
"java"
import
=
"java.util.*"
pageEncoding=
"UTF-8"
%>
-
<%@taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%>
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
第三步:使用JSTL标签
1、通用标签
示例2:
-
<c:set var=
"name"
value=
"张三"
scope=
"request"
/>
-
<c:remove var="name"
scope=
"request"
/>
-
<c:out value="${name}"
/>
<c:set var="name" value="张三" scope="request" />
<c:remove var="name" scope="request" />
<c:out value="${name}" />
2、条件标签
示例3:
-
<c:set value=
"张三"
var=
"name"
scope=
"request"
/>
-
<c:if
test=
"${requestScope.name=='张三'}"
>
-
欢迎光临
-
</c:if
>
-
<c:if
test=
"${requestScope.name!='张三'}"
>
-
用户名错误
-
</c:if
>
-
<c:choose>
-
<c:when test="${requestScope.name=='张三'}"
>
-
进入主页
-
</c:when>
-
<c:otherwise>
-
登录
-
</c:otherwise>
-
</c:choose>
<c:set value="张三" var="name" scope="request"/>
<c:if test="${requestScope.name=='张三'}">
欢迎光临
</c:if>
<c:if test="${requestScope.name!='张三'}">
用户名错误
</c:if>
<c:choose>
<c:when test="${requestScope.name=='张三'}">
进入主页
</c:when>
<c:otherwise>
登录
</c:otherwise>
</c:choose>
3、迭代标签
forEach:
属性:
- items:指定要迭代的集合或数组
- var:代表集合或数组中的一个元素
- begin:指定开始循环的位置
- end:结束的位置
- varStatus:状态
遍历集合:
示例4:
-
<c:forEach items=
"${list}"
var=
"str"
varStatus=
"status"
>
-
<c:if
test=
"${status.count%2==0}"
>
-
<font color="red"
>值 :${str.username },索引:${status.index},次数:${status.count }<br> </font>
-
</c:if
>
-
<c:if
test=
"${status.count%2!=0}"
>
-
值 :${str.username },索引:${status.index },次数:${status.count }<br>
-
</c:if
>
-
</c:forEach>
<c:forEach items="${list}" var="str" varStatus="status">
<c:if test="${status.count%2==0}">
<font color="red">值 :${str.username },索引:${status.index},次数:${status.count }<br> </font>
</c:if>
<c:if test="${status.count%2!=0}">
值 :${str.username },索引:${status.index },次数:${status.count }<br>
</c:if>
</c:forEach>
遍历Map
示例5:
-
<%
-
Map<String, String> nameMap = new
HashMap<String, String>();
-
nameMap.put("a"
,
"张三"
);
-
nameMap.put("b"
,
"李四"
);
-
nameMap.put("c"
,
"王五"
);
-
nameMap.put("d"
,
"赵六"
);
-
session.setAttribute("nameMap"
, nameMap);
-
%>
-
<c:forEach items="${nameMap}"
var=
"entry"
>
-
键:${entry.key } 值${entry.value } <br>
-
</c:forEach>
<%
Map<String, String> nameMap = new HashMap<String, String>();
nameMap.put("a", "张三");
nameMap.put("b", "李四");
nameMap.put("c", "王五");
nameMap.put("d", "赵六");
session.setAttribute("nameMap", nameMap);
%>
<c:forEach items="${nameMap}" var="entry">
键:${entry.key } 值${entry.value } <br>
</c:forEach>
输出:
键:d 值:赵六
键:a 值:张三
键:c 值:王五
键:b 值:李四
forTokens:
属性:
- items:指定要迭代的集合或数组
- Delims:指定分隔符
示例6:
-
<c:set var=
"name"
value=
"jerry:andy|Tom"
scope=
"request"
/>
-
-
<c:forTokens items="${name}"
delims=
":|"
var=
"myname"
>
-
${myname }<br>
-
</c:forTokens>
相关推荐
JavaWeb标签库应用方法初探 JavaWeb标签库是一种解决传统JavaWeb程序中JSP页面与Java代码混乱问题的方法。通过使用标签库,可以将HTML开发和JSP开发分离,使得页面设计者专注于页面外观设计,而Java程序员专注于...
《订餐Java Web学习项目初探》 在编程学习的道路上,Java Web是一个重要的里程碑,它结合了Java语言的强大功能和Web技术的广泛适用性,为开发者提供了构建动态、交互式网站的工具。本项目“订餐Java Web学习项目”...
### JSF初探:深入理解JavaServer Faces技术 #### 核心知识点概览: 1. **JSF(JavaServer Faces)简介**:JSF是一种基于Java的服务器端框架,用于构建用户界面,尤其是Web应用程序。它由Sun Microsystems设计,并...
在JSP中,可以使用内置对象(如request、response、session等)来访问HTTP请求的数据,以及定义EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)来简化页面逻辑。 **JSP与Servlet的关系** 尽管JSP...
本书共分20章,内容包括JSP与Web技术概论、初探JSP、Java与JSP、JSP程序设计基础、JSP内建对象、表单与交互式网页、JSTL与标签函数库、EL、灵活设计JSP网页、文件I/O技术、Java Mail与联机邮件、JSP与XML、JDBC与...
3. **JSTL和EL表达式**:在JSP中,JSTL(JavaServer Pages Standard Tag Library)用于简化页面逻辑,而EL(Expression Language)表达式则用于在JSP页面中直接访问Java对象,提高开发效率。 二、数据库设计与集成 ...
《个人博客系统——初探JSP技术在Web开发中的应用》 个人博客系统是一个常见的Web应用程序,它允许用户创建、编辑和发布个人文章,展示个人思想、经历或专业知识。这样的系统通常由前端界面、后端服务器逻辑以及...
这个初级版系统展示了如何将这三个框架集成,以实现数据持久化、业务逻辑处理和前端展示的高效协作。 首先,让我们深入了解每个框架的作用: 1. **Hibernate**:作为对象关系映射(ORM)框架,Hibernate使得开发者...
在初探JSF(JavaServer Faces)的世界时,选择一个合适的集成开发环境(IDE)至关重要。MyEclipse,作为Eclipse的一个增强版,内置了对JSF的支持,简化了开发流程。在MyEclipse中,JSF相关的库文件通常位于`C:\...
《Spring MVC Web应用初探:HelloWorld实例》 在IT领域,Spring MVC是Java开发者广泛使用的Web应用程序框架,它提供了模型-视图-控制器(MVC)...因此,深入学习和实践Spring MVC是提升Java Web开发技能的关键步骤。
- **JSTL标签基本用法**:JSTL(JavaServer Pages Standard Tag Library)是一组标准的JSP标签,可以简化页面开发工作。 - **lwc标签用法**:lwc是另一种自定义的标签库,提供了额外的功能。 - **标签应用举例**:...
从代理机制初探 AOP 动态代理 <br>AOP 观念与术语 Spring AOP Advices Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。 Before ...