使用JSTL步骤+常用的核心标签

Posted a box of Sweets

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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>

结果:

以上是关于使用JSTL步骤+常用的核心标签的主要内容,如果未能解决你的问题,请参考以下文章

使用JSTL配置步骤

使用JSTL配置步骤

Jstl之核心标签库与格式标签库使用

JSTL # JSTL的简单使用:核心标签 c格式化标签 fmt 函数

JSTL

JSTL介绍及使用