当前位置: 首页 > wzjs >正文

简单的购物网站设计网站收费系统平台

简单的购物网站设计,网站收费系统平台,电子商务平台的自然人经营者,折扣网站搭建Jsp技术入门指南【九】详细讲解JSTL 前言一、什么是JSTL&#xff1f;&#xff08;JavaServer Pages Standard Tag Library&#xff09;二、使用JSTL前的准备三、核心标签库常用标签详解1. <c:out>&#xff1a;输出内容&#xff08;替代<% %>&#xff09;2. <c:i…

Jsp技术入门指南【九】详细讲解JSTL

  • 前言
  • 一、什么是JSTL?(JavaServer Pages Standard Tag Library)
  • 二、使用JSTL前的准备
  • 三、核心标签库常用标签详解
    • 1. <c:out>:输出内容(替代<%= %>)
    • 2. <c:if>:条件判断(替代<% if %>)
    • 3. <c:choose> + <c:when>+ <c:otherwise>:多条件判断(替代switch)
    • 4. <c:forEach>:集合/数组遍历(重点!替代for循环)
    • 5. <c:forTokens>:按分隔符分割字符串并遍历
  • 四、其他常用标签库(了解即可)
  • 五、总结:为什么必须学JSTL?


前言

  • 在之前的博客中,我们已经深入剖析了JSP页面的核心结构,从基础语法到动态交互的实现,逐步揭示了动态网页开发的底层逻辑。
  • 通过这些内容的学习,相信我们已经对JSP的开发有了更清晰的认识,并且掌握了高效开发动态Web应用的关键技能

接下来,我们将继续深入JSP的世界,探索JSTL的强大功能

  • JSTL(JavaServer Pages Standard Tag Library)是JSP开发中不可或缺的重要工具,它提供了一组标准化的标签,用于简化JSP页面的开发过程。
  • 通过使用JSTL,我们可以减少页面中的Java脚本代码,提高代码的可读性和可维护性,同时还能实现复杂的页面逻辑功能。JSTL不仅支持常见的结构性任务,如迭代和条件判断,还提供了用于处理XML文档、国际化标签以及SQL标签等功能

在本篇博客中,我们将详细讲解JSTL的各个功能模块,包括核心标签库、格式化标签库、SQL标签库、XML标签库以及JSTL函数。我们将通过具体的代码示例和实际应用场景,帮助你快速掌握JSTL的使用方法,让你在JSP开发中更加得心应手。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482


一、什么是JSTL?(JavaServer Pages Standard Tag Library)

一句话总结:JSTL是JSP的“标准标签库”,提供了一系列XML风格的标签(如<c:if><c:forEach>),用来替代JSP中的Java脚本(如<% if %><% for %>),让页面更简洁、更规范!

核心优势

  • 告别<% %>脚本,用标签实现逻辑(条件判断、循环、输出等)
  • 跨容器通用,所有支持JSTL的服务器都能运行
  • 功能强大,涵盖流程控制、集合遍历、字符串处理等常用操作

二、使用JSTL前的准备

pom.xml中添加两个核心依赖:

<!-- JSTL核心API -->
<dependency><groupId>javax.servlet.jsp.jstl</groupId><artifactId>jstl-api</artifactId><version>1.2</version>
</dependency>
<!-- 标准标签库实现 -->
<dependency><groupId>taglibs</groupId><artifactId>standard</artifactId><version>1.1.2</version>
</dependency>
  • 导入之后的样子
    在这里插入图片描述

  • 然后在项目结构里lib文件下导入上面的包
    在这里插入图片描述

  • 在开头加入核心标签库
    在这里插入图片描述

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/b4f4022fd6ba4781ab8bc41e87ff2993.png)

三、核心标签库常用标签详解

1. <c:out>:输出内容(替代<%= %>)

  • 作用
    安全输出数据,自动转义特殊字符(如<转成<),防止XSS攻击。

  • 语法

<c:out value="${表达式}" [default="默认值"] />
  • value:要输出的EL表达式

  • default:可选,表达式为null时显示默认值

  • 示例

<% request.setAttribute("name", "小明"); %>
<!-- 普通输出 -->
老写法:<%= request.getAttribute("name") %>  
新写法:<c:out value="${name}" />  <!-- 输出:小明 -->  <!-- 处理null情况 -->
<% request.removeAttribute("name"); %>
<c:out value="${name}" default="未命名" />  <!-- 输出:未命名 -->  

2. <c:if>:条件判断(替代<% if %>)

  • 作用
    根据条件决定是否执行标签体内容,类似Java的if语句。

  • 语法

<c:if test="${条件表达式}" var="变量名" scope="作用域"><!-- 条件为true时执行这里 -->
</c:if>
  • test:必填,EL表达式(如${age >= 18}
  • varscope:可选,将条件结果保存到变量中

示例

<% request.setAttribute("score", 85); %>
<c:if test="${score >= 90}"><p>优秀!</p>
</c:if>
<c:if test="${score >= 60 && score < 90}"><p>合格!</p>  <!-- 输出:合格 -->
</c:if>

3. <c:choose> + <c:when>+ <c:otherwise>:多条件判断(替代switch)

作用
实现类似Java的switch-case多分支判断。

语法

<c:choose><c:when test="${条件1}"><!-- 条件1true时执行 --></c:when><c:when test="${条件2}"><!-- 条件2true时执行 --></c:when><c:otherwise><!-- 以上条件都不满足时执行 --></c:otherwise>
</c:choose>

示例

<% request.setAttribute("day", 3); %>  <!-- 1-7代表周一到周日 -->
<c:choose><c:when test="${day == 1}">周一</c:when><c:when test="${day == 2}">周二</c:when><c:when test="${day == 3}">周三</c:when>  <!-- 输出:周三 --><c:otherwise>其他</c:otherwise>
</c:choose>

4. <c:forEach>:集合/数组遍历(重点!替代for循环)

作用
遍历List、数组、Map等集合,是JSTL中最常用的标签之一。

语法1:遍历容器(如List、数组)

<c:forEach items="${集合}" var="元素" [varStatus="状态变量"]><!-- 循环体,用${元素}获取当前元素 -->
</c:forEach>
  • items:要遍历的集合(EL表达式,如${list}
  • var:当前元素的变量名
  • varStatus:可选,获取循环状态(索引、是否第一个元素等)

示例:遍历List

<% List<String> fruits = Arrays.asList("苹果", "香蕉", "橙子");request.setAttribute("fruits", fruits);
%>
<ul><c:forEach items="${fruits}" var="fruit" varStatus="status"><li>第${status.index+1}个水果:${fruit}</li>  <!-- 输出3个列表项 --></c:forEach>
</ul>
  • status.index:当前索引(从0开始)
  • status.count:当前循环次数(从1开始)

语法2:遍历指定次数

<c:forEach begin="起始值" end="结束值" step="步长" var="变量"><!-- 循环体,变量从begin到end,每次+step -->
</c:forEach>

示例:输出1-5

<c:forEach begin="1" end="5" step="1" var="i">${i}  <!-- 输出:1 2 3 4 5 -->
</c:forEach>

5. <c:forTokens>:按分隔符分割字符串并遍历

作用
将字符串按指定分隔符(如逗号、分号)拆分成多个子串,逐个遍历(类似Java的split()+循环)。

语法

<c:forTokens items="待分割字符串" delims="分隔符" var="子串" [varStatus="状态变量"]><!-- 循环体,用${子串}获取当前子串 -->
</c:forTokens>

示例:分割“a,b,c”

<c:forTokens items="a,b,c" delims="," var="token">${token}  <!-- 输出:a b c -->
</c:forTokens>
  • delims可包含多个分隔符(如delims=",; "表示逗号、分号、空格)

四、其他常用标签库(了解即可)

JSTL除了核心标签库(core),还有其他功能库:

  1. fmt标签库:格式化数据(日期、数字、国际化)
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <fmt:formatDate value="${now}" pattern="yyyy-MM-dd" />  <!-- 格式化日期 -->
    
  2. fn标签库:字符串处理函数(长度、替换、分割等)
    <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
    字符串长度:${fn:length("hello")}  <!-- 输出:5 -->
    

五、总结:为什么必须学JSTL?

  1. 告别杂乱脚本:用<c:if>替代<% if %>,用<c:forEach>替代Java循环,页面更干净易维护。
  2. 安全可靠<c:out>自动转义特殊字符,防止XSS攻击;标签语法规范,减少语法错误。
  3. 功能全面:条件判断、循环、集合遍历、字符串处理全搞定,覆盖90%以上的页面逻辑需求。

以上就是这篇博客的全部内容,下一篇我们将继续探索JSP的更多精彩内容。

我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的JSP知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12950980.html?spm=1001.2014.3001.5482

非常感谢您的阅读,喜欢的话记得三连哦

在这里插入图片描述

http://www.dtcms.com/wzjs/816136.html

相关文章:

  • 青岛 html5flash设计开发|交互设计|网站建设海淀区社区建设网站
  • 十里河网站建设完整的网页设计代码案例
  • 公司网站中新闻中心怎样做优化大连优化排名推广
  • 关于网站建设的可行性报告作文生成器网站
  • 求推荐个网站数字经济最新消息
  • 微网站和微信公共平台的区别一个网站如何做双语
  • 给自己做的网站换首页怎样在百度上发布自己的信息
  • 300元建站浙江做网站找谁
  • 极简 网站模板网络推广价格
  • 做音乐网站的目的物业管理系统app
  • 公司建立网站的好处做视频网站侵权吗
  • 国外免费网站模板php网站服务建设
  • 免费h5响应式网站搭建建筑工程 网络图
  • android开发 网站开发个人主页生成
  • wordpress可以做成企业站吗咨询型网站
  • 做外贸在哪个网站比较好自己怎么做网站卖东西
  • 四川手机网站开发网站推广的技能
  • 山东省建设工程质量监督网站沈阳建设工程信息网 找到中项网
  • 网站不稳定有什么影响小米路由做网站
  • 最权威的做网站设计公司价格公司网络营销方案
  • 原型图怎么做网站交互中国建设招标网上查询
  • 建设银行软件官方网站下载织梦网站默认密码忘记
  • 潍坊在线网站建设网页打不开的一个解决方法
  • 北滘网站开发网站开发的形式有( )
  • 中信建设网站网站建设背景图片
  • 临猗县 保障住房和建设住建网站赣州seo优化
  • 网站开发项目实战中国城投建设集团网站
  • 三门峡建设银行网站全网软文推广
  • 冠县品牌网站建设推广中国电力工程造价信息网
  • 太原网站建设公司5858html网页制作公司