使用taglib指令
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
out标签
ouy标签在运算表达式时,是将结果输出带当前的JspWriter。out的语法有两种,一种是没有body content的,一种是有body content的。
第一种:
<c:out value="value" [escapeXml="true|false"] [default="default Value"] />
第二种:
<c:out value="value" [escapeXml="true|false"] > default Value </c:out>
注意:在标签的语法中,[]表示可选的属性。
out中的default属性可以赋一个默认值,当赋予其value属性的EL表达式返回null时,就会显示默认值。default属性可以赋动态值,如果这个动态值返回null,out就会显示一个空的字符串。
例如,在下面的out标签中,如果在HttpSession中没有找到myVar变量,就会显示应用程序范围的变量myVar值,如果没找到,就输出一个空的字符串。
<c:out value="${sessionScope.myVar}" default="${applicationScope.myVar}" />
set标签
作用:1、创建一个字符串和一个引用该字符串的有界变量;
2、创建一个引用现存有界对象的有界变量;
3、设置有界对象的属性。
如果用set创建有界变量,那么在该标签出现后的整个JSP页面中都可以使用该变量。
set标签的4种形式
第一种:<c:set value="value" var="varName" [scope="{page|request|session|application}"] />这里的scope属性指定了有界变量的范围。
第二种:<c:set value="value" var="varName" [scope="{page|request|session|application}"] >body content</c:set>允许在body content中有JSP代码。
第三种:<c:set target="target" property="propertyName" value="value" />
第四种:<c:set target="target" property="propertyName">body content</c:set>
例如,将字符串"ShenZhen"赋予有界对象address的city属性
<c:set target="${address}" property="city" value="ShenZhen" />
或者
<c:set target="${address}" property="city">ShenZhen</c:set>
remove标签
remove标签用于删除有界变量
<c:remove var="varName" [scope="{page|request|session|application}"] />
注意:有界变量引用的对象不能删除。
例如,删除页面范围的变量job
<c:remove var="job" scope="page" />
条件行为
4个标签:if、choose、when、otherwise。
if标签
第一种:<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"] />
第二种:<c:if test="testCondition" [var="varName"] [scope="{page|request|session|application}"]>body content</c:if>
choose、when、otherwise标签
遍历行为
forEach标签