JSP页面引入:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1.<c:if>
if标签的作用和Java程序中的if语句作用相同,用于判断条件语句。
标签使用格式:
<c:if test=”checkCondition” var=”varName” scope=”page|request|session|application” />
<c:if test=”checkCondition” var=”VarName” scope=”page|request|session|application” >
body content
</c:if>
参数:
test:判断条件的表达式,返回类型为true或者false。
var:这个变量用于保存test条件表达式判断所返回的true或者false值。
scope:指定var变量所在的有效范围。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>JSTL if标签</title> </head> <body> <% String val = "abc"; request.setAttribute("val", val); %> <c:if test="${val=='abc'}" var="flag" /> <c:out value="判断结果为:"></c:out> <c:out value="${flag}" /> <br /> <c:if test="${flag==true}"> 字符串内容是abc. </c:if> <c:if test="${flag==false}"> 字符串内容不是abc. </c:if> <hr /> <c:if test="${val=='abc'}" var="flag2"> 字符串内容为abc. </c:if> <br /> <c:out value="判断结果为:"></c:out> <c:out value="${flag2}" /> <hr /> <c:if test="${val=='abcd'}" var="flag3"> 字符串内容为abcd. </c:if> <br /> <c:out value="判断结果为:"></c:out> <c:out value="${flag3}" /> </body> </html>
输出:
判断结果为: true
字符串内容是abc.
字符串内容为abc.
判断结果为: true
判断结果为: false
2.<c:choose>
这些标签一般是组合起来一起使用的,就相当于Java程序中的switch条件语句。
在<c:choose>标签体中包括<c:when>和<c:otherwise>子标签。<c:when>子标签代表<c:choose>的一个条件分支。
<c:otherwise>子标签必须使用在<c:choose>标签的体内,而且必须是在最后的分支上。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>JSTL choose标签</title> </head> <body> <% int val = 1; request.setAttribute("val", val); %> <c:choose> <c:when test="${val==1}"> <c:out value="Val值为1." /> </c:when> <c:when test="${val==2}"> <c:out value="Val值为2." /> </c:when> <c:otherwise> <c:out value="Val为其他值." /> </c:otherwise> </c:choose> <br /> <c:choose> <c:when test="${val==2}"> <c:out value="Val值为1." /> </c:when> <c:when test="${val==3}"> <c:out value="Val值为2." /> </c:when> <c:otherwise> <c:out value="Val为其他值." /> </c:otherwise> </c:choose> </body> </html>
输出:
Val值为1.
Val为其他值.
3.<c:forEach>
forEach标签使用来对一个Collection集合中的一系列对象进行迭代输出,并且可以指定迭代次数。
使用格式如下:
<c:forEach items=”collection” var=”varName” [varstatus=”varStatusName”]
[begin=”begin”] [end=”end”] [step=”step”]>
body content
</c:forEach>
参数:
var:也就是保存在Collection集合类中的对象名称。
items:将要迭代的集合类名。
varStatus:存储迭代的状态信息,可以访问到迭代自身的信息。
begin:如果指定了begin值,就表示从items[begin]开始迭代,如果没有指定begin值,则从集
合的第一个值开始迭代。
end:表示迭代到集合的end位时结束,如果没有指定end值,则表示一直迭代中集合的最后一
位。
step:指定迭代的步长。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page import="test.jstl.Test,java.util.List,java.util.ArrayList"%> <html> <head> <title>JSTL choose标签</title> </head> <body> <% List<Test> list = new ArrayList<Test>(); Test test = new Test(); test.setName("名字1"); test.setValue("值1"); list.add(test); test = new Test(); test.setName("名字2"); test.setValue("值2"); list.add(test); test = new Test(); test.setName("名字3"); test.setValue("值3"); list.add(test); test = new Test(); test.setName("名字4"); test.setValue("值4"); list.add(test); request.setAttribute("list", list); %> <c:out value="直接输出:"></c:out> <br /> <c:forEach items="${list}" var="test"> <c:out value="${test.name}"></c:out> <c:out value=","></c:out> <c:out value="${test.value}"></c:out> <br /> </c:forEach> <hr /> <c:out value="指定输出:"></c:out> <br /> <c:forEach items="${list}" var="test" begin="1" step="2"> <c:out value="${test.name}"></c:out> <c:out value=","></c:out> <c:out value="${test.value}"></c:out> <br /> </c:forEach> <hr /> <c:out value="全部信息输出:"></c:out> <br /> <table border="1"> <tr> <td><c:out value="索引" /></td> <td><c:out value="迭代次数" /></td> <td><c:out value="是否第一个" /></td> <td><c:out value="是否最后一个" /></td> <td><c:out value="名字"></c:out></td> <td><c:out value="值"></c:out></td> <c:forEach items="${list}" var="test" varStatus="s"> <tr> <td><c:out value="${s.index}" /></td> <td><c:out value="${s.count}" /></td> <td><c:out value="${s.first}" /></td> <td><c:out value="${s.last}" /></td> <td><c:out value="${test.name}"></c:out></td> <td><c:out value="${test.value}"></c:out></td> </tr> </c:forEach> </table> <br /> <c:out value="forEach处理字符串a,b,c:"></c:out> <br /> <c:forEach items="a,b,c" var="val"> <c:out value="${val}"></c:out> <br /> </c:forEach> </body> </html>
输出:
直接输出:
名字1 , 值1
名字2 , 值2
名字3 , 值3
名字4 , 值4
指定输出:
名字2 , 值2
名字4 , 值4
全部信息输出:
索引 | 迭代次数 | 是否第一个 | 是否最后一个 | 名字 | 值 |
0 | 1 | true | false | 名字1 | 值1 |
1 | 2 | false | false | 名字2 | 值2 |
2 | 3 | false | false | 名字3 | 值3 |
3 | 4 | false | true | 名字4 | 值4 |
forEach处理字符串a,b,c:
a
b
c
4.<c:forTokens>
forTokens标签的作用和Java中的StringTokenizer类的作用非常相似,它通过items属性来指定一个特定的字符串,然后通过delims属性指定一种分隔符(可以同时指定多个),通过指定的分隔符把items属性指定的字符串进行分组。和forEach标签一样,forTokens标签也可以指定begin和end以及step属性值。
使用格式如下:
<c:forTokens items=”stringOfTokens” delims=”delimiters” var=”varName”
[varStatus=”varStatusName”] [begin=”begin”] [end=”end”] [step=”step”]>
body content
</c:forTokens>
参数:
var:进行迭代的参数名称。
items:指定的进行标签化的字符串。
varSatus:每次迭代的状态信息。
delims:使用这个属性指定的分隔符来分割items指定的字符串。
begin:开始迭代的位置。
end:迭代结束的位置。
step:迭代的步长。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page import="test.jstl.Test,java.util.List,java.util.ArrayList"%> <html> <head> <title>JSTL forTokens标签</title> </head> <body> <% String str = "a,b,c|d,e,f,g|h,i,j"; request.setAttribute("str", str); %> <c:out value="字符串内容为:"></c:out> <c:out value="${str }"></c:out> <br /> <c:out value="forTokens标签,按\",\"分隔输出:"></c:out> <br /> <c:forTokens items="${str }" delims="," var="val"> <c:out value="${val}"></c:out> <br /> </c:forTokens> <hr /> <c:out value="forTokens标签,按\"|\"分隔输出:"></c:out> <br /> <c:forTokens items="${str }" delims="|" var="val"> <c:out value="${val}"></c:out> <br /> </c:forTokens> <hr /> <c:out value="forTokens标签,按\",\"和\"|\"分隔输出:"></c:out> <br /> <c:forTokens items="${str }" delims=",|" var="val"> <c:out value="${val}"></c:out> <br /> </c:forTokens> <hr /> <c:out value="forTokens标签,双重迭代按\",\"和\"|\"分隔输出:"></c:out> <br /> <c:forTokens items="${str }" delims="|" var="val"> <c:out value="${val}"></c:out> <br /> <c:forTokens items="${val }" delims="," var="val2"> <c:out value="${val2}"></c:out> <br /> </c:forTokens> </c:forTokens> <hr /> <c:out value="forEach标签也可以处理:"></c:out> <br /> <c:forEach items="${str }" var="val"> <c:out value="${val}"></c:out> <br /> </c:forEach> </body> </html>
输出:
字符串内容为: a,b,c|d,e,f,g|h,i,j
forTokens标签,按","分隔输出:
a
b
c|d
e
f
g|h
i
j
forTokens标签,按"|"分隔输出:
a,b,c
d,e,f,g
h,i,j
forTokens标签,按","和"|"分隔输出:
a
b
c
d
e
f
g
h
i
j
forTokens标签,双重迭代按","和"|"分隔输出:
a,b,c
a
b
c
d,e,f,g
d
e
f
g
h,i,j
h
i
j
forEach标签也可以处理:
a
b
c|d
e
f
g|h
i
j
相关推荐
jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2.jar下载jstl-1.2...
jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2,jstl-api-1.2和jstl-impl-1.2
jstl-1.2.1,之前的版本需要在服务器中配置一下,而且它分成了两个jar(jstl.jar和standard.jar)还有一个tld文件,而1.2已经不用配置了,直接把javax.servlet.jsp.jstl-1.2.1.jar和javax.servlet.jsp.jstl-api-1.2.1...
鄙人分享 亲测可用 欢迎使用 jstl-impl-1.2.jar jstl-impl-1.2.jar、
导入时需要将两个都导入,jstl-1.2.jar是高版本的,是将低版本的两个文件合成一个了,故只需要导入一个文件即可,导入的同时在jsp文件首行写入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" ...
jstl-api-1.2、jstl-impl-1.2.jar标签包,两份。
Tomcat启动报错 java.lang.ClassNotFoundException: org.apache.jsp.index_jsp,检查你的项目中是否存在jsp-api.jar,jstl-api.jar,servlet-api.jar。
包含jstl-api-1.2.1.jar,jstl-1.2.jar,jstl-impl-1.2.jar,standard-1.1.2.jar!!!!!
网上搜集的,然后自己整理了一下。 JSTL-Core标签库.pdf
java.lang.NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config,以上错误可以使用以下策略试试,tomcat的lib文件夹下加入:jstl-1.2.jar、jstl-api-1.2.jar、jstl-impl-1.2.jar三个包。
内含jstl-1.2、jstl-api-1.2、jstl-impl-1.2、standard-1.1.2
包括 jstl-api.jar和jstl-impl.jar和jstl.jar三个资源
是在java web,jsp开发过程中,为了支持JSTL标签而需要使用到的两个jar,包括jstl-impl-1.2.jar和jstl-api-1.2.jar
jstl-api.jar和jstl-impl-1.2.jar.zip
jstl-impl-1.2.2.jar!
javax.servlet.jsp.jstl-api-1.2.1.jar
jstl-api-1.2.jar 测试可用 测试可用 测试可用
使用jsp/servlet的jstl必须用到的两个标签库jstl-api-1.2.jar和jstl-impl.jar
JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源代码 jstl-1.2JavaEE源...
jstl1.2 jar包jstl-api-1.2.jar jstl-impl-1.2.jar