【Java WEB-001】使用JSTL步骤+常用的核心标签

 

  1. JSTL是一个不断完善的开放源代码的JSP标签库,他是由APAche的jakrta小组来维护的。他提供4个主要的标签库,包括核心标签库、国际化与格式化标签库、SQL标签库和XML标签库。
  2. jar的下载可以去apache网址下,也可以在点击这里下载

一、使用JSTL配置步骤

要使用它,则需要配置:以下配置是基于环境JDK1.8+eclipse+tomcat9.0下进行的演示步骤:

第一步:引用jar包

两个包jstl.jar和standard.jar拷贝在lib下面:

第二步:使用函数签库的taglib指令在jsp页面上引入所需要的标签(常用的是core的核心标签库)

第三步:使用JSTL标签

二、常用的核心标签

1、<c:out>标签   

<c:out value="value" [default="defaultValue"]

[escapeXml="{true|false}"]/>

案例:index.jsp页面

<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head></head>
<body>
	<c:out value="Hello World!"></c:out>
</body>
</html>	

运行结果:

2、 <c:remove>移除标签

<c:remove>标签用于移除指定的JSP范围内的变量,其语法格式如下

<c:remove var="name" [scope=”范围”]/>

3、流程控制标签

1)<c:if>签:

程序开发中,经常需要使用if语句进行条件判断,如果要在JSP页面中进行条件判断,就需要使用Core标签库提供的<c:if>标签,该标签专门用于完成JSP页面中的条件判断,

法:

<c:if test="testCondition" var="result" 
[scope="{page|request|session|application}"]/>





在<c:if>标签格式中,可以看到<c:if>标签有三个属性,下面对这三个属性分别进行讲解。
test属性用于设置逻辑表达式。
var属性用于指定逻辑表达式中变量的名字。
scope属性用于指定var变量的作用范围,默认值为page。

案例:根据值判断是周几

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head></head>
<body>
	<c:set value="1" var="week" property="week" />
	<c:if test="${week==1 }">
		周一
	</c:if>
		<c:if test="${week==2 }">
		周二
	</c:if>
</body>
</html>

结果:

2)<c:choose><c:when><c:otherwise>标签 :等同于java中的if。。。else if  。。。 else

 <c:choose>标签没有属性,在它的标签体中只能嵌套一个或多个<c:when>标签,零个或一个<c:otherwise>标签,并且同一个<c:choose>标签中所有的<c:when>子标签必须出现在<c:otherwise>子标签之前,其语法格式如下:

<c:choose>

  Body content(<when> and <otherwise> subtags) </c:choose>

 案例:

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head></head>
<body>
<h1>从请求参数中获取day的参数值,如果是6或者7,输出周末,
否则输出工作日</h1>
	<c:choose>
	   <c:when test="${param.day==6||param.day==7}">
 		   周末
 	   </c:when>
	  
	   <c:otherwise>
  		   工作日
 	   </c:otherwise>
	</c:choose>
</body>

</html>

结果:

 

 4、循环标签

<c:forEach>标签:标签专门用于迭代集合对象中的元素,如SetListMap、数组等,并且能重复执行标签体中的内

语法:迭代包含多个对象的集合

<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"]

[begin="begin"] [end="end"] [step="step"]>

  body content

</c:forEach>

var于将当前迭代到的元素保存到page域中的名称。

items属于指定将要迭代的集合对象。

varStatus属于指定将当前迭代状态信息的对象保存到page域中的名称。

begin属于指定从集合中第几个元素开始进行迭代,begin的索引值从0开始

                    果没有指定items属性,就从begin指定的值开始迭代,直到迭代结束为止。

step属于指定迭代的步长,即迭代因子的增量

案例:迭代数组和map集合

<%@ page language="java" contentType="text/html; charset=utf-8"
import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head></head>
<body>
	<%String[] fruits = { "apple", "orange", "banana" };%>
	String数组中的元素:<br>
	<c:forEach var="name" items="<%=fruits%>">
 		${name}<br />
	</c:forEach>
	<%     Map map = new HashMap();
	map.put("admin", "123");
	map.put("admin2", "123");
	map.put("admin3", "123");     %>
	
	<hr>
	HashMap集合中的元素:<br>
	
	<c:forEach var="entry" items="<%=map%>">
		${entry.key}&nbsp;${entry.value}<br />
	</c:forEach>
</body>


</html>

结果:

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

a box of Sweets

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

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

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

打赏作者

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

抵扣说明:

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

余额充值