jetl标签的使用

这篇博客介绍了如何在Java Web中使用JSTL标签库,包括导入必要的jar包,配置web.xml,以及在jsp页面中使用如<c:out>、<c:set>和<c:remove>等标签进行数据操作。此外,还讲解了逻辑判断语句如<c:if>和<c:choose>,以及如何利用<c:forEach>进行列表和Map的遍历。通过这些标签,可以更方便地处理页面数据和逻辑控制。
摘要由CSDN通过智能技术生成

链接:https://pan.baidu.com/s/1fS_ZmxbvOihGfGP9v3c8rQ 
提取码:ydhl

学完这一章,javawep基础就学完了,一个暑假,我马马虎虎的过了一遍js,java高级,javawep,发现很多东西都是共通的,jetl标签就相当于js中的jQuery,类似java中的一些插件,作用都是方便我们造作页面。

开始学习jetl之前下载好java包,放在wepapp的lib下;

 一共三个包,其实只需要两个,为了避免一些奇奇怪怪的bug,我们还是用三个,由于我是用的时tomcat10,所以jakarta会有一些不同,和老版本的路径不一样。

首先导入路径:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

这样我们就能在jsp页面中使用:<c:

来进行使用jetl标签,idea好像不用配置,我用的Eclipse,要配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
	version="3.1">
	<display-name>JavaWep10</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<jsp-config>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
			<taglib-location>/WEB-INF/c.tld</taglib-location>
		</taglib>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
			<taglib-location>/WEB-INF/fmt.tld</taglib-location>
		</taglib>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/sql</taglib-uri>
			<taglib-location>/WEB-INF/sql.tld</taglib-location>
		</taglib>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/xml</taglib-uri>
			<taglib-location>/WEB-INF/x.tld</taglib-location>
		</taglib>
		<taglib>
			<taglib-uri>http://java.sun.com/jsp/jstl/functions</taglib-uri>
			<taglib-location>/WEB-INF/fn.tld</taglib-location>
		</taglib>
	</jsp-config>
</web-app>

放入wep.xml中,

jetl可以直接取出作用域、设置、删除中的数据:

<%@ 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">
<title>Insert title here</title>
</head>
<body>
	<jsp:useBean id="book" class="Pojo.Book"></jsp:useBean>
	<c:set target="${book}" property="name" value="唐诗三百首"></c:set>
	<jsp:getProperty property="name" name="book" />
	<hr>
	<c:out value="${book.name}"></c:out>
	<c:set var="text" value="123"></c:set>
	<c:out value="${text}"></c:out>
	<%
	//<c:remove var="varname" [scope="page|request|session|application]

	%>
	<c:out value="${text}"></c:out>
</body>
</html>

<c:out value="">:输出数据

<c:set var="" value="">:设置数据

<c:remove var="">:删除数据

它们都可以指定范围:

scope="page|request|session|application

分别时:本页面、上一个页面传递、浏览器、服务器

逻辑判断语句:

<%@ 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">
<title>Insert title here</title>
</head>
<body>
	<c:set var="num" value="3"></c:set>
	<c:set var="danjia" value="2.6"></c:set>
	<c:set var="vip" value="3"></c:set>
	<c:if test="${vip eq 0}">
		<c:out value="${num*danjia}"></c:out>
	</c:if>
	<c:if test="${vip eq 1}">
		<c:out value="${num*danjia*0.9}"></c:out>
	</c:if>
	<c:if test="${vip eq 2}">
		<c:out value="${num*danjia*0.75}"></c:out>
	</c:if>
	<c:if test="${vip eq 3}">
		<c:out value="${num*danjia*0.6}"></c:out>
	</c:if>
	<br>
	<c:choose>
		<c:when test="${vip eq 1}">
			<c:out value="${num*danjia*0.9}"></c:out>
		</c:when>
		<c:when test="${vip eq 2}">
			<c:out value="${num*danjia*0.75}"></c:out>
		</c:when>
		<c:when test="${vip eq 3}">
			<c:out value="${num*danjia*0.6}"></c:out>
		</c:when>
		<c:otherwise>
			<c:out value="${num*danjia}"></c:out>
		</c:otherwise>
	</c:choose>
</body>
</html>

 jetl可以通过两个逻辑判断语句:

<c:if test="">
       ......
    </c:if>

和if语句一样,

<c:choose>
        <c:when test="">
        .....满足条件
        </c:when>
        <c:otherwise>
          .......上面的语句全部不满足
        </c:otherwise>
    </c:choose>

 jetl循环语句:

        遍历list:

        

<%@page import="Pojo.Book"%>
<%@page import="java.util.ArrayList"%>
<%@ 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">
<title>Insert title here</title>
</head>
<body>
	<%
	ArrayList<Book> list = new ArrayList<>();
	list.add(new Book(1001, "童话里的故事"));
	list.add(new Book(1002, "也许生命和时间成正比"));
	list.add(new Book(1003, "月球之谜"));
	list.add(new Book(1004, "这个世界真实吗?"));
	session.setAttribute("bookList", list);
	%>
	<table width="600" border=1"">
		<tr>
			<td>序号</td>
			<td>编号</td>
			<td>姓名</td>
		</tr>
		<c:forEach items="${bookList}" var="i" varStatus="cont">
			<c:if test="${cont.index==0}">
				<tr bgcolor="red">
			</c:if>
			<c:if test="${cont.index!=0}">
				<tr>
			</c:if>
				<td>${cont.index+1}</td>
				<td>${i.on}</td>
				<td>${i.name}</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

遍历map:


<%@page import="Pojo.Book"%>
<%@page import="java.util.HashMap"%>
<%@ 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">
<title>Insert title here</title>
</head>
<body>
	<%
	HashMap<Integer, Book> map = new HashMap<Integer, Book>();
	map.put(1, new Book(1001, "童话里的故事"));
	map.put(2, new Book(1002, "也许生命和时间成正比"));
	map.put(3, new Book(1003, "月球之谜"));
	map.put(4, new Book(1004, "这个世界真实吗?"));
	session.setAttribute("map", map);
	%>
	<table width="600" border=1>
		<tr>
			<td>序号</td>
			<td>编号</td>
			<td>姓名</td>
		</tr>
		<c:forEach items="${map}" var="i" varStatus="cont">
			<tr>
				<td>${cont.index+1 }</td>
				<td>${i.key}</td>
				<td>${i.value.name}</td>
			</tr>
		</c:forEach>
	</table>
</body>
</html>

<c:forEach items="list" var="i" varStatus="cont">
           循环体
        </c:forEach>

items为需要循环的数据,var为临时变量,这个语句相当于Java的加强fou循环,varStatus时一个计数器。

所以在遍历map的时候,我们取出value(里面是一个实体类)然后取出名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值