JSTL中的Core标签库

JSTL中的Core标签库

  1. 以下所涉及到的软件有eclipse2021-09、tomcat9、jdk1.8、jstl的jar包;点击这里跳转jstljar包下载(PS:本文所用的实验代码均为JavaWeb程序设计任务教程的配套代码)
  2. 选择 jakarta-taglibs-standard-1.1.2.zip 进行下载在这里插入图片描述
  3. 下载后解压在lib文件夹里有相应的jar包。在这里插入图片描述
  4. 在eclipse中新建web项目并且将包导入在这里插入图片描述
  5. 创建一个Orders类代码如下:
public class Orders {
	private String id;
	private String address;
	private String phone;
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getPhone() {
		return phone;
	}
	public void setPhone(String phone) {
		this.phone = phone;
	}
}
  1. 创建一个servlet类名为:JSTLCore,代码为:
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class JSTLCore
 */
@WebServlet("/JSTLCore")
public class JSTLCore extends HttpServlet {
	private static final long serialVersionUID = 1L; 
    public JSTLCore() {
        super();
        // TODO Auto-generated constructor stub
    }
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		List<Orders> orderList=new ArrayList<>();
		Orders orders1=new Orders();
		orders1.setId("00551");
		orders1.setAddress("福建王一");
		orders1.setPhone("13785594487");
		Orders orders2=new Orders();
		orders2.setId("00552");
		orders2.setAddress("河北王二");
		orders2.setPhone("15855594483");
		orderList.add(orders1);
		orderList.add(orders2);
		
		req.setAttribute("username", "李二");
		req.setAttribute("orders", orderList);
		req.getRequestDispatcher("/JSTLCore.jsp").forward(req, resp);
	}
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);
	}
} 
  1. 最后在创建一个jsp文件,名为:JSTLCore代码为
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<div id="head" style="text-align: center; width: 300px">
		<c:if test="${empty username}">
			<a href="/Shiyan/JSTLCore">您好,请先登录</a>&nbsp;&nbsp;&nbsp;<a
				href="#">免费注册</a>
		</c:if>
		<c:if test="${!empty username}">
			${username}&nbsp;先生/女士,您好&nbsp;<a href="/Shiyan/JSTLCore.jsp">退出</a>
		</c:if>
	</div>
	<br>
	<div id="contents">
		<c:choose>
			<c:when test="${!empty orders}">
				<table border="1">
					<thead>
						<tr>
							<th>ID</th>
							<th>订单编号</th>
							<th>邮寄地址</th>
							<th>联系电话</th>
							<th>操作</th>
						</tr>
					</thead>
					<tbody>
						<c:forEach items="${orders}" var="order" varStatus="s">
							<tr>
								<td>${s.count}</td>
								<td>${order.id}</td>
								<td>${order.address}</td>
								<td>${order.phone}</td>
								<td><a href="#">修改</a> <a href="#">删除</a></td>
							</tr>
						</c:forEach>
					</tbody>
				</table>
			</c:when>
			<c:otherwise>
			<div style="text-align: center; width: 300px">
				<c:out value="${orders}">
					查询订单orders集合为空!
				</c:out>
			</div>
			</c:otherwise>
		</c:choose>
	</div>
</body>

</html>

其中<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>这一代码的作用是利用taglib指令导入Core标签库,如果不导入的话就没办法用了哟
代码:

<a href="/Shiyan/JSTLCore">您好,请先登录</a>&nbsp;&nbsp;&nbsp;<a href="#">免费注册</a>
<a href="/Shiyan/JSTLCore.jsp">退出</a>

这一代码中href="/Shiyan/JSTLCore"所表示的servlet类JSTLCore的地址;Shiyan需要和自己所创建的web项目名称一致,因为我创建的项目为Shiyan所以为 href="/Shiyan/JSTLCore",后面的href="/Shiyan/JSTLCore.jsp"这个也是一样的道理,不过它指向的是jsp文件而已。

8.点击运行后结果为在这里插入图片描述

点击您好,请先登录后的结果为:在这里插入图片描述

  1. 以上便是使用JSTL中的Core标签库的简单方法,现在我来说一说,这其中可能遇到的问题首先是jstl的jar包版本太低,可能导致你在运行的过程当中无法识别,第二web.xml的配置,在eclipse当中如果你的Dynamic web module version为3.0及以上版本可能出现配置出错问题,一般我是将这个调为2.5,这样我就可以在web.xml文件中进行编写(新手建议这样);这个在创建web项目的时候可以进行选择 。
  2. Dynamic web module version2.5和3.0及以上的区别:
    (1)选择2.5的时候,会默认勾选创建web.xml文件,而3.0需要在下下一步中手动勾选.
    (2)选择2.5的时候,如果新建了Servlet文件,需要在web.xml文件中进行配置,而3.0版本在新建Servlet文件时会自动加上注解,不在需要额外的配置。
  3. 也有可能出现tomcat版本太低无法识别包或者其他问题,建议改成tomcat9版本。
    以上便是我对于使用JSTL中的Core标签库的简单方法的一些见解,如果有错的地方请各位看官批评指正出来,让大家互相进步!!谢谢观看!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华丽转场

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值