jsp标准标签库总结


 1、JSP标准标签库(JSP Standard Tag Library,JSTL)是实现Web应用程序中常见的通用功能的定制标签库集,使用JSTL标签来避免在JSP页面中使用脚本。

2、JSTL概述:

JSTL英文全称是“JSP Standard Tag Library”,即JSP标准标签库之意。

JSTL是由JCP(Java Commnunity Process)指定的标准规范是一组形如html的标签。

3、Core标签库

核心标签库主要包括通用标签、条件标签、迭代标签和与URL相关的标签

使用Core标签库的JSP文件开始部分,要添加指令<%@taglib uri=http://java.sun.com/jsp/jstl/core prefix=c>

4、通用标签:

(1)<c:out>标签:将表达式的结果输出到当前的JspWriter对象中。其功能类似与JSP的表达式<%=...%>,或者EL表达式${}。

语法:<c:out value=”value”[default=”default value”] [escapeXml=”true|false”]/>

<c:out value=”value”[escapeXml=”true|faluse”]>

default value

</c:out>

注:value值为空时,输出默认值;escapeXml为true时,对输出内容中的<、>、”、’和&字符进行转义,分别转成<、>、'、"和&。

eg.<jsp:useBean id="userbean" class="com.csdn.hbsi.bean.UserBean"/>

<c:set value="lgj" target="${userbean}" property="username"/>

<c:out value="${userbean.username}"/>

(2)<c:set>标签:用于设置JSP页面的各种域范围中的变量,或者设置java.util.Map对象或JavaBean对象的属性。

语法:<c:set value=”value” var=”name” [scope=”范围”]/>

将value的值保存到名为name的变量中,同时name保存到指定的作用范围中。

<c:set var=”name” [scope=”范围”]>

value

</c:set>

将标签体中的内容保存到名为name的变量中,同时name变量保存到指定的作用范围中。

<c:set value=”value” target=”target” property=”propertyName”/>

将value的值保存到target对象的porpertyName属性中。

<c:set target=”target” property=”porpertyName”>

Value

</c:set>

eg.<jsp:useBean id="userbean" class="com.csdn.hbsi.bean.UserBean"/>

    <c:set value="cccccc" target="${userbean}" property="username"/>  无标签体设置对象中的属性<br/>

    <c:out value="${userbean.username}"></c:out>  

注:范围是:page|request|session|application

(3)<c:remove>标签:用于移除JSP页面中指定域范围中的变量。

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

eg.<c:set var="username">aaaa</c:set>

  输出标签体内容:<c:out value="${username}"/><br>

  <c:remove var="username"/>

  输出执行remove标签后的内容:<c:out value="${username}">当username为空时输出这里的内容</c:out><br>

(4)<c:catch>标签:用于捕获嵌套在标签体内的内容抛出的异常对象,并将异常对象信息保存到变量中。

语法:<c:catch [var=”name”]>

bodycontent

</c:catch>

将可能反生异常的代码放在该标签中,如果发生异常,异常信息保存到name变量中。

eg.<c:catch var="exception">

<%

int[] nums = new int[5];

System.out.println(nums[5]);

%>

</c:catch>

异常输出:

<c:out value="${exception}"/>

(5)<c:if>标签:用于来做条件判断,功能类似于JSP中<%if(boolean){}%>

语法:<c:if test=”condition” var=”varName” [scope=”范围”]>

<c:if test=”condition” var=”name” scope=”范围”>

</c:if>

注:对于判断标签的test属性,可以使用一些关系操作符,如:==、!=、<、>、>=、<=等,也可以将这些关系操作符用eq、ne、lt、le、gt、ge取代。

e.g.<c:set var="username" value="1"/>

<c:if test="${username==1}" var="isok">

   条件成立,输出内容。

  </c:if>

<c:out value="${isok}" />

(6)<c:choose><c:when/>|<c:otherwise/></c:choose>标签:<c:choose>标签用于提供条件选择的上下文,他必须与<c:when>和<c:otherwise>

<c:when>作为<c:choose>的子标签,<c:when>有一个test属性,该属性的值为boolean类型,如果test的值为true,则执行<c:when>标签体的内容。

<c:otherwise>标签没有属性,它必须作为<c:choose>标签的最后分支出现。

语法:<c:choose>

<c:when test=”condition”>条件为true的时候执行</c:when>(一个或多个)

<c:otherwise></c:otherwise>(零个或者一个)

</c:choose>

e.g<c:set var="score" value="80" />

<c:choose>

<c:when test="${score>=90}">成绩优秀!</c:when>

<c:when test="${score>=80&&score<90}">成绩优良!</c:when>

<c:when test="${score>=70&&score<80}">成绩一般!</c:when>

<c:otherwise>成绩较差!</c:otherwise>

</c:choose>

(7)<c:forEach>标签:用于包含了多个对象的集合进行迭代,重复执行它的标签体,或者重复迭代固定的次数。

语法:对多个对象集合进行迭代:

<c:forEach var=”varName” items=”collection” varStatus=”StringName” begin=”beginindex” end=”endindex” step=”step”>

bodycontent

</c:forEach>

注:items属性并不是一定要有的属性,但是当没有使用items属性时,就一定要使用begin和end属性。

varStatus:用来保存现在遍历计数相关的信息。例如:如果varStatus=”i”,那么会将相应信息放在名称为i的变量中,i变量有四个属性值,index(现在所操作的成员的索引)、count(所操作的成员总数)、first(现在所操作成员是否是第一个成员)和last。

e.g

输出1-8之间的数字,步长为2:

<c:forEach var="items" begin="1" end="8" step="2">

<c:out value="${items}" />

</c:forEach>

<br />

forEach遍历字符串:

<c:forEach items="abc,def,nnn,kkk" var="items" begin="1" end="2">

<c:out value="${items}" />

</c:forEach>

小九九

<table border="1">

<c:forEach var="i" begin="1" end="9" varStatus="status">

<tr>

<c:forEach var="j" begin="1" end="${i}">

<td>

<c:out value="${j}*${i}=${j*i }"></c:out>

</td>

</c:forEach>

</tr>

</c:forEach>

</table>

(8)<c:forTokens>标签:用来浏览一字符串中所有的成员

,其成员是由定义符号(Delimiters)所分隔的。

<c:forTokens items=”aa:bb:nn:dd” delims=”:”var=”token”>

<c:out value=”${token}”/><br>

</c:forTokens>

注:这个标记使用效果相当于java.util.StringTokenizer类。将字符串“aa:bb:nn:dd”以“:”分隔符分开,token是循环到当前所分割得到的字符串。

E.g、<c:forTokens items="aaa|nnn|ccc|vvv" delims="|" var="items">

<c:out value="${items}" />

</c:forTokens>

(9)URL相关的标签

<c:import>、<c:url>、<c:redirect><c:param>标签:用于超链接、页面的包含和重定向等操作。

<c:import>标签:可以把其他静态或者动态文件包含到本身的JSP页面中。与JSP的动作<jsp:include>

的区别在于:<jsp:include>只能包含和自己在同一个Web应用中的文件,<c:import>不仅包含和自己在同一个Web应用下的文件,还包含其他Web应用或者其他网站的文件。

e.g. <c:import url="http://www.baidu.com" ></c:import>

(10)<c:url>标签:在Jsp页面构造一个URL,它提供了3个功能元素,它们可以在URL前面附加当前Servlet上下文的名称;可以为会话管理重写URL;可以对请求参数名称和值进行URL编码,这些功能在为J2EE Web应用程序构造URL时特别有用。

语法:<c:url value=”value指定url” context=”context指定上下文名称” var=”varName” scope=””/>

<c:url value=”value指定url” context=”context指定上下文名称” var=”varName” scope=””>

<c:param name=”paramname” value=”paramvalue”>

</c:url>

e.g. <c:url value="Cif.jsp">

  <c:param name="a" value="aaaa"></c:param>

  <c:param name="b" value="bbbb"></c:param>

  </c:url>

  <hr>

  <a href="<c:url value='Cif.jsp'/>">单击此处</a>

属性:

url属性是必要有的,它是用来设定被包含页面的地址,可以是绝对地址也可以是相对地址。

Url使用相对地址:<c:import url=”MyHtml.html”/>.

使用绝对路径:将其他网站的文件包含进来。<c:import url=”http://www.baidu.com” charEncoding=”gb2312”/>

当var属性存在时,把文件内容包含进来,但是它不输出到页面上,而是保存到var设定的变量中,而属性scope设定变量的作用范围。

(11)<c:redirect>标签:用于向用户的浏览器发送HTTP重定向响应,它是JSTL中与javax.servlet.http.HttpServletResponse的sendRedirect()方法功能相当的标记。

语法:<c:redirecturl=”url”context= ”contextName”/> 

<c:redirect url=”url”context=”contextName”>

<c:param name=”paramname” alue=”paramvalue”/>

</c:redirect>

e.g.<c:redirect url="CforEach.jsp">

<c:param name="a" value="aaa"></c:param>

</c:redirect>

(12)<c:param>标签:作用是为一个URL添加请求参数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值