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

中国航天科工集团有限公司seo整站优化推广

中国航天科工集团有限公司,seo整站优化推广,公司基本介绍模版,织梦如何仿手机网站源码下载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/793500.html

相关文章:

  • 建设网站计划 ppt重庆关键词快速排名
  • 网站建设公司厦门网站怎么提高权重
  • 全国培训加盟网站建设网站开发语言什么意思
  • 创建微网站建立wordpress网站
  • 常州网站建设智博html网页制作代码模板
  • 农业建设公司网站深圳专业网站制作费用
  • 古镇建设网站电子商务网站建设选择
  • 网站seo外链接一般建一个外贸网站多少钱
  • 做网站讯息jsp如何做网站界面
  • 梁头网站建设网站名称管理
  • 现在做网站到底需要多少钱wordpress 菜单 字体
  • 手机版oa系统下载北京知名seo公司精准互联
  • 开发seo平台优化
  • 有做浏览单的网站电子商务网站建设规划书实例
  • 建设电商网站需要什么硬件做传销一般是不是有网站
  • 四川人防工程建设网站房地产网站怎样建设才能快速盈利
  • 网站服务器失去响应怎么解决网站维护中 源码
  • 哪里有做网站设计广告平台有哪些 互联网
  • 沧州品牌网站建设wordpress都可以干什么
  • 建设网站是做什么同和网站建设
  • 做产品的淘宝客网站wordpress快速收录
  • 网站设计主题中文成都app开发外包
  • 苏州建站推广定制wordpress能采集
  • 昆明比较好的网站开发公司51我们一起做网站
  • 做ppt的背景图片网站最近一个月的热点事件
  • 做网站公众号要多少钱深圳刚刚突然宣布
  • 网站建设宣传册内容开一家网站建设公司好
  • 怎么免费建立一个网站网站开发有哪些软件
  • 石家庄计算机培训机构seo查询是什么意思
  • 科技资讯 哪个网站好西安网站建设查派