欢迎来到Jsp编程课时七——JSP第十六课时。JSTL标签库(二)

简介: 欢迎来到Jsp编程课时七——JSP第十六课时。JSTL标签库(二)

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <!-- @1使用taglib   url:在线标签库的地址
     @2prefix 本地的前首写字母 -->
    <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JSTL标签库的使用一通用标签库</title>
<style type="text/css">
*{
color: black;
font-size: 30px;
font-weight: bolder;
}
h2{
color: white;
background-color: black;
}
</style>
</head>
<body>
<h2 style="align-content: center; text-align: center;">JSTL标签库的使用一通用标签库1</h2>
<%request.setAttribute("a", "我是数据a定义了一个数据为HellowA") ;%>
<%request.setAttribute("b", "我是数据b定义了一个数据为HellowB") ;%>
<!-- El表达式 -->
<h2>用El表达式获取的数据</h2>
<h1>${a }</h1><br>
<h1>${b }</h1><br>
<h3>通用标签set使用</h3>
<!-- <!-- var:对应数据名称
value:数据的值
 scope:四大域的名称
 page:pageContext
 resquest: resquest
 session:session
 application: application
 --> 
<%-- <c:set var="a1" value="hellow1" scope="resquest"></c:set>
标签库${a1 }
<c:set var="b1" value="hellow1" ></c:set> --%>
<%-- ${pageScrope.a } --%>
<h2>表达式标签库</h2>
<h2>
1 scope="四大作用域"。
2 var="对应的变量名" 。
3 value"对应的值" 。
@1用表达式$(a1)获取。
</h2>
<c:set var="a1" value="我是一只小花猫" scope="application"></c:set>
<h2>@1获取数据用EL表达式</h2>
${a1 }
<br>
<h2>@2指定作用域pageScope sessionScope</h2>
<c:set var="b" value="我是一只小花狗" ></c:set> 
 ${pageScope.b } 
<br>
<!-- value 省去 -->
<h2>@3省去 value的值 </h2>
<c:set var="c" scope="session">Hellow World Jsp</c:set>
<h2>指定作用域</h2>
<br>
${sessionScope.c }
<br>
<h2>@4跳转作用域来获取数据</h2>
<c:set scope="application" var="apple" value="${a1 }"></c:set>
$(applicationScope.apple)<br>
<hr>
<h2>@5删除数据内容</h2>
<c:remove var="c"/>
${empty(c) }
<!-- out 输出数据 通过EL表达式 -->
<h2>@ 6out 输出数据 通过EL表达式</h2>
<c:out value="${c }"></c:out>
<br>
<c:out value="${b }"></c:out>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
*{
color: black;
font-size: 34px;
font-weight: bold;
}
h1{
color: yellow;
background-color: black;
}
h2{
color: white;
background-color: black;
}
</style>
<title>JSTL标签库的使用一通用标签库2</title>
</head>
<body>
 <h1 style="color: red; font-size: 45px;text-align: center;"> 标签库和JSp动作合起来使用 </h1>
<h2 style="align-content: center; text-align: center;">JSTL标签库的使用二通用标签库2</h2>
<jsp:useBean id="car" class="com.abc.Car" scope="page"></jsp:useBean>
<c:set target="${car }" property="name" value="红旗"></c:set>
<c:set target="${car }" property="price" value="36000"></c:set>
<c:set target="${car }" property="type" value="pink"></c:set>
${car.name }<br>
${car.price }<br>
${car.type}<br>
<hr>
</body>
</html>
package com.abc;
/**
 * 类的封装
 * @author MZFAITHDREAM
 *
 */
public class Car {
  private String name;
  private double price;
  private String type;
}

剩下的方法自己去写

@2 流程标签 if       choose      when         otherwise

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
      <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
*{
color: black;
font-size: 34px;
font-weight: 900px;
}
h1{
color: yellow;
background-color: black;
}
h2{
color: white;
background-color: black;
}
</style>
<meta charset="UTF-8">
<title>JSTL标签库的使用一流程标签库</title>
</head>
<body>
<article>
<h1>
表达式标签:out set remove 
流程标签 if choose when otherwise
循环标签 forEach  forTokens
url 标签  import    url   redirect parm
</h1>
<h2 style="align-content: center;">JSTL标签库的使用三流程标签库</h2>
<hr>
</article>
<!-- 条件标签库 -->
<!--  判断一个数的基数 和偶数-->
<h2>判断一个数的基数 和偶数</h2>
<c:set var="num" value="346" scope="page"></c:set>
<c:set var="nums" value="347" scope="page"></c:set>
<h3>test:是表达式,最后结果为true,false</h3>
<c:if test="${num%2 ==0}">
<h3 style="color: red;">这数为偶数偶数</h3>
</c:if>
<c:if test="${num%2 !=0}">
<h3 style="color: green;">这数为奇数</h3>
</c:if>
<hr>
<h2>方法二计算了一次</h2>
<c:if test="${nums%2 ==0}" var="jieguo" scope="page"></c:if>
<c:if test="${jieguo}">
<h3 style="color: red;">这数为偶数</h3>
</c:if>
<c:if test="${!jieguo}">
<h3 style="color: green;">这数为奇数</h3>
</c:if>
<hr>
</body>
</html>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
      <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
*{
color: black;
font-size: 34px;
font-weight: 900px;
}
h1{
color: yellow;
background-color: black;
}
h2{
color: white;
background-color: black;
}
</style>
<meta charset="UTF-8">
<title>JSTL标签库的使用一流程标签库</title>
</head>
<body>
<article>
<h1>
表达式标签:out set remove 
流程标签 if choose when otherwise
循环标签 forEach  forTokens
url 标签  import    url   redirect parm
</h1>
<h2 style="align-content: center;">JSTL标签库的使用三流程标签库</h2>
<hr>
</article>
<!-- 条件标签库 -->
<!--  判断一个数的基数 和偶数-->
<h2>判断一个数的基数 和偶数</h2>
<c:set var="num" value="346" scope="page"></c:set>
<c:set var="nums" value="347" scope="page"></c:set>
<h3>test:是表达式,最后结果为true,false</h3>
<c:if test="${num%2 ==0}">
<h3 style="color: red;">这数为偶数偶数</h3>
</c:if>
<c:if test="${num%2 !=0}">
<h3 style="color: green;">这数为奇数</h3>
</c:if>
<hr>
<h2>方法二计算了一次</h2>
<c:if test="${nums%2 ==0}" var="jieguo" scope="page"></c:if>
<c:if test="${jieguo}">
<h3 style="color: red;">这数为偶数</h3>
</c:if>
<c:if test="${!jieguo}">
<h3 style="color: green;">这数为奇数</h3>
</c:if>
<hr>
<!--判断月份  -->
<c:set var="month" value="12" scope="session"></c:set>
<c:set var="months" value="8" scope="session"></c:set>
<c:choose>
<c:when test="${month>=1 && month<=3 }">
<h4 style="color: gray;">第一季节</h4>
</c:when>
<c:when test="${month>=4 && month<=6 }">
<h4 style="color: red;">第二季节</h4>
</c:when>
<c:when test="${month>=7 && month<=9 }">
<h4 style="color: green;">第三季节</h4>
</c:when>
<c:when test="${month>=10 && month<=12 }">
<h4 style="background-color: black;color: pink; font-size: 50px">第四季节冬季</h4>
</c:when>
<c:otherwise>
<h1>月份是有误的</h1>
</c:otherwise>
</c:choose>
<c:choose>
<c:when test="${months>=1 && months<=3 }">
<h4 style="color: gray;">第一季节</h4>
</c:when>
<c:when test="${months>=4 && months<=6 }">
<h4 style="color: red;">第二季节</h4>
</c:when>
<c:when test="${months>=7 && months<=9 }">
<h4 style="color:red; background-color: black;">第三季节</h4>
</c:when>
<c:when test="${months>=10 && months<=12 }">
<h4 style="background-color: black;color: pink; font-size: 50px">第四季节冬季</h4>
</c:when>
<c:otherwise>
<h1>月份是有误的</h1>
</c:otherwise>
</c:choose>
</body>
</html>
<c:otherwise>
<h1>月份是有误的</h1>
</c:otherwise>

@3 循环标签 forEach       forTokens

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
     <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
*{
color: black;
font-size: 34px;
font-weight: bold;
}
h2{
color: white;
background-color: black;
}
</style>
<title>循环标签 forEach</title>
</head>
<body>
<h2>
表达式标签:out set remove 
流程标签 if choose when otherwise
循环标签 forEach  forTokens
url 标签  import    url   redirect parm
</h2>
<h2>for循环标签</h2>
<%
String [] name ={"编号1001小碗","编号1002小花","编号1003小白","编号1004小坡","编号1005小(>^ω^<)喵",
    "编号1006消费",
    "编号1007呼叫",
    "编号1008hello",
    "编号1009need发",
    "编号1010你好",
    "编号1001011细看"
    ,"编号10012加油",
    "编号10013明白"};
application.setAttribute("name", name);
String [] names ={"小白","小坡","小(>^ω^<)喵","消费","呼叫","hello","need发","你好","细看","小胡"};
application.setAttribute("names", names);
%>
${names[0]},${names[1]},${names[2]},${names[3]},${names[4]}<br>
<h2>
forEach标签属性:
@1 items:要循环数据的集合or 数组。
@2 var:定义变量,用于存放每一次循环从数组中拿数据。
@3 begin从第几个数据开始循环。
@4 end控制下标在第几项结束。
@5 step增加的步长。
@6 varStatus设置没一次循环的次数
</h2>
<c:forEach items="${names}" var="nb" step="2" varStatus="s">
<c:if test="${s.count %2 !=0}">
  存放每一次循环从数组中拿数据${nb }<br>
  </c:if>
</c:forEach>
<hr>
<c:forEach items="${name}" var="nbs" begin="2" end="10" >
  存放每一次循环从数组中拿数据${nbs }<br>
</c:forEach>
</body>
</html>

forEach标签属性:

@1 items:要循环数据的集合or 数组。

@2 var:定义变量,用于存放每一次循环从数组中拿数据。

@3 begin从第几个数据开始循环。

@4 end控制下标在第几项结束。

@5 step增加的步长。

@6 varStatus设置没一次循环的次数

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
       <%@taglib  uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
*{
color: black;
font-size: 30px;
font-weight: bold;
}
h2{
color: white;
background-color: black;
}
</style>
<title>forTokens</title>
</head>
<body>
<c:forTokens items="脸色,换货单号的,kjdkdkdk,hhsdhdj,哈哈哈" delims="," var="str">
<p style="color: green; background-color: black;">被分开的数据以,分开: ${str }</p>
</c:forTokens>
<br>
<c:forTokens items="脸色/,换货/单号的/,kjdkd/kd/k,hhsd/hdj,哈哈哈" delims="/" var="str1">
<p style="color: red; background-color: black;">被分开的数据以/分开: ${str1 }</p>
</c:forTokens>
<hr>
<c:forTokens items="hellow-orld-色-而退-京东快-递开-的亟-待解-决的撒娇-的角度-记得-看恢-复上-课了" delims="-" var="str2">
<p style=" background-color: black; color: pink;">被分开的数据以/分开: ${str2 }</p>
</c:forTokens>
<hr>
<c:forTokens items="h*ell*ow-*orl*d-色-而*退-京东*快-递*开-的*亟-待*解-*决的*撒娇-的*角度-记*得-看恢*-复*上-*课*了*" delims="*" var="str2">
<p style=" background-color: black; color: pink;">被分开的数据以/分开: ${str2 }</p>
</c:forTokens>
</body>
</html>

delims="用什么符号将其分离"

@4 url 标签  import      url      redirect      parm

相关文章
|
5月前
|
SQL XML Java
JSP 教程 之 JSP 标准标签库(JSTL) 4
**JSP的JSTL是用于简化Web开发的标签库,包括核心、格式化、SQL、XML和函数5个部分。SQL标签库允许与数据库交互,如设定数据源、执行查询和更新,以及处理参数。例如, `&lt;sql:setDataSource&gt;` 定义数据源, `&lt;sql:query&gt;` 执行查询。通过使用JSTL,开发者能更整洁地处理JSP页面。**
48 8
|
5月前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 5
JSP的JSTL是用于简化JSP开发的标签库,包括核心、格式化、SQL、XML和函数五大标签集。XML标签库处理XML文档,如`&lt;x:out&gt;`显示XML数据,`&lt;x:parse&gt;`解析XML,`&lt;x:forEach&gt;`遍历节点。使用前需添加XercesImpl.jar和xalan.jar到Tomcat的lib目录。
37 6
|
5月前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 6
**JSP JSTL 摘要:** JSTL是JSP的标签库,包含核心、格式化、SQL、XML和函数5类标签。它用于执行常见任务,如迭代、条件判断和XML操作。JSTL函数库提供字符串处理函数,如`contains()`, `endsWith()`, `escapeXml()`等,方便XML和HTML处理。通过`&lt;%@ taglib %&gt;`导入,如`fn:trim()`用于去除字符串两端空白。
37 5
|
1月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
62 0
|
3月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
3月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
3月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
28 0
|
5月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
100 12
|
5月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
104 10
|
5月前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
59 9