`
fantaxy025025
  • 浏览: 1279148 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

JSTL学习总结和整理(三)JSTL初探

    博客分类:
  • JSTL
阅读更多

搜集的资料,适当编辑并可能有所改动,同时为了保存和方便。感谢原作者!

------------------------------------------------

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
Java代码
  1. <% @page  language= "java"   import = "java.util.*"  pageEncoding= "UTF-8" %>  
  2. <%@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:
Java代码
  1. <c:set var= "name"  value= "张三"  scope= "request"  />  
  2. <c:remove var="name"  scope= "request"  />  
  3. <c:out value="${name}"  />  
<c:set var="name" value="张三" scope="request" />
<c:remove var="name" scope="request" />
<c:out value="${name}" />

2、条件标签
示例3:
Java代码
  1. <c:set value= "张三"  var= "name"  scope= "request" />  
  2. <c:if  test= "${requestScope.name=='张三'}" >  
  3.     欢迎光临  
  4. </c:if >     
  5. <c:if  test= "${requestScope.name!='张三'}" >  
  6.     用户名错误  
  7. </c:if >         
  8. <c:choose>  
  9.     <c:when test="${requestScope.name=='张三'}" >  
  10.         进入主页  
  11.     </c:when>  
  12.     <c:otherwise>  
  13.         登录  
  14.     </c:otherwise>  
  15. </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:
Java代码
  1. <c:forEach items= "${list}"  var= "str"  varStatus= "status" >  
  2.     <c:if  test= "${status.count%2==0}" >  
  3.         <font color="red" >值 :${str.username },索引:${status.index},次数:${status.count }<br> </font>  
  4.     </c:if >  
  5.     <c:if  test= "${status.count%2!=0}" >  
  6.         值 :${str.username },索引:${status.index },次数:${status.count }<br>  
  7.     </c:if >  
  8. </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:
Java代码
  1. <%  
  2.     Map<String, String> nameMap = new  HashMap<String, String>();  
  3.     nameMap.put("a" "张三" );  
  4.     nameMap.put("b" "李四" );  
  5.     nameMap.put("c" "王五" );  
  6.     nameMap.put("d" "赵六" );  
  7.     session.setAttribute("nameMap" , nameMap);  
  8. %>  
  9. <c:forEach items="${nameMap}"  var= "entry" >  
  10.     键:${entry.key }&nbsp;&nbsp;值${entry.value }     <br>  
  11. </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 }&nbsp;&nbsp;值${entry.value }     <br>
</c:forEach>
输出:
键:d  值:赵六
键:a  值:张三
键:c  值:王五
键:b  值:李四

forTokens:
属性:
  • items:指定要迭代的集合或数组
  • Delims:指定分隔符
示例6:
Java代码
  1. <c:set var= "name"  value= "jerry:andy|Tom"  scope= "request" />  
  2.   
  3. <c:forTokens items="${name}"  delims= ":|"  var= "myname" >  
  4.     ${myname }<br>  
  5. </c:forTokens> 
分享到:
评论

相关推荐

    JavaWeb-标签库应用方法初探.docx

    JavaWeb标签库应用方法初探 JavaWeb标签库是一种解决传统JavaWeb程序中JSP页面与Java代码混乱问题的方法。通过使用标签库,可以将HTML开发和JSP开发分离,使得页面设计者专注于页面外观设计,而Java程序员专注于...

    订餐java web学习项目

    《订餐Java Web学习项目初探》 在编程学习的道路上,Java Web是一个重要的里程碑,它结合了Java语言的强大功能和Web技术的广泛适用性,为开发者提供了构建动态、交互式网站的工具。本项目“订餐Java Web学习项目”...

    JSF初探

    ### JSF初探:深入理解JavaServer Faces技术 #### 核心知识点概览: 1. **JSF(JavaServer Faces)简介**:JSF是一种基于Java的服务器端框架,用于构建用户界面,尤其是Web应用程序。它由Sun Microsystems设计,并...

    JSP和Servlet那些事儿系列--初探HTTP服务器

    在JSP中,可以使用内置对象(如request、response、session等)来访问HTTP请求的数据,以及定义EL(表达式语言)和JSTL(JavaServer Pages Standard Tag Library)来简化页面逻辑。 **JSP与Servlet的关系** 尽管JSP...

    jsp动态网站开发与实例(第3版)

    本书共分20章,内容包括JSP与Web技术概论、初探JSP、Java与JSP、JSP程序设计基础、JSP内建对象、表单与交互式网页、JSTL与标签函数库、EL、灵活设计JSP网页、文件I/O技术、Java Mail与联机邮件、JSP与XML、JDBC与...

    java网上商城的初期模板,仅供参考

    3. **JSTL和EL表达式**:在JSP中,JSTL(JavaServer Pages Standard Tag Library)用于简化页面逻辑,而EL(Expression Language)表达式则用于在JSP页面中直接访问Java对象,提高开发效率。 二、数据库设计与集成 ...

    个人博客系统

    《个人博客系统——初探JSP技术在Web开发中的应用》 个人博客系统是一个常见的Web应用程序,它允许用户创建、编辑和发布个人文章,展示个人思想、经历或专业知识。这样的系统通常由前端界面、后端服务器逻辑以及...

    hibernate+spring_struts开发的学生信息管理系统(初级版)

    这个初级版系统展示了如何将这三个框架集成,以实现数据持久化、业务逻辑处理和前端展示的高效协作。 首先,让我们深入了解每个框架的作用: 1. **Hibernate**:作为对象关系映射(ORM)框架,Hibernate使得开发者...

    JSF入门示例

    在初探JSF(JavaServer Faces)的世界时,选择一个合适的集成开发环境(IDE)至关重要。MyEclipse,作为Eclipse的一个增强版,内置了对JSF的支持,简化了开发流程。在MyEclipse中,JSF相关的库文件通常位于`C:\...

    spring mvc web demo(helloworld)

    《Spring MVC Web应用初探:HelloWorld实例》 在IT领域,Spring MVC是Java开发者广泛使用的Web应用程序框架,它提供了模型-视图-控制器(MVC)...因此,深入学习和实践Spring MVC是提升Java Web开发技能的关键步骤。

    Spring培训资料

    - **JSTL标签基本用法**:JSTL(JavaServer Pages Standard Tag Library)是一组标准的JSP标签,可以简化页面开发工作。 - **lwc标签用法**:lwc是另一种自定义的标签库,提供了额外的功能。 - **标签应用举例**:...

    开源框架 Spring Gossip

    从代理机制初探 AOP 动态代理 &lt;br&gt;AOP 观念与术语 Spring AOP Advices Advices 包括了Aspect 的真正逻辑,由于缝合至Targets的时机不同,Spring 提供了几种不同的 Advices。 Before ...

Global site tag (gtag.js) - Google Analytics