JSP学习笔记5

USING JSP TAG LIBRARIES

JSP STANDARD TAG LIBARARY(JSTL)

 1.<c:forEach>标签的语法定义如下所示。

                  <c:forEach var="name" items="expression" varStatus="name"

                           begin="expression" end="expression" step="expression">

                           body content

                  </c:forEach>

         <c:forEach>标签具有以下一些属性:

l          var:迭代参数的名称。在迭代体中可以使用的变量的名称,用来表示每一个迭代变量。类型为String。

l          items:要进行迭代的集合,包括JAVA所有集合类型,迭代器,枚举器和基本数组。
l          varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息。

l          begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。

l          end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

l          step:迭代的步长。

 2. <c:if>; 它用来做条件判断,功能类似jsp中的<%if(boolean){}%>

语法:
1
、无body的情况
       <c:if test=”testCondition” var=”varName” [scope=
“{page|request|session|application}”]/>

2、有body的情况

       <c:if test=”testCondition” var=”varName” [scope=“{page|request|session|application}”]>

              Body内容

</c:if>

3.<c:choose>;  它是用于条件选择,和<c:when>,<c:otherwise>一起使用,它的条件选择是排斥性的,相当于jsp中的<%switch(i){case 0: … case 1:… default :}%>,也可以完成<%if{}…else if{}….else if{} else{} %>的功能

语法:<c:choose>

                     Body内容(<c:when>,<c:otherwise>)

         </c:choose>

注意:它的body内容只能是由以下的元素组成:

1.         空格;

2.         0个或多个<c:when>子标签,<c:when>必须在<c:otherwise>子标签之前出现;

3.         0个或多个<c: otherwise >子标签

 

4.<c:set>将某个变量存入page , request , session , application范围的对象,或是设定JavaBean,Map的属性,和值

1、使用value属性设置一个特定范围里面的属性:

<c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”]/ >

2、使用value属性设置一个特定范围里面的属性,带有BODY

<c:set value=”value”  var=”varName” [scope= “{page|request|session|application}”] >

       Body content

</c:set>

3、设置某个特定对象的一个属性:

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

4、设置某个特定对象的一个属性, 带有BODY

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

       Body content

</c:set>

var 要设置的变量名

value 设置的值

target 要设置的JavaBean名称,或Map名称

property JavaBean的属性或Mapkey

scope 变量所在的范围

5.<c:remove>page , request , session , application范围的对象内移除某个变量或属性

语法:<c:remove var=”要移除的变量或属性名称
scope=”page | request | session | application” />

注意:如未指定scope属性,则会同时从page , request , session , application范围的对象内移除指定
的变量或属性。

6.<c:out>将执行结果由JspWriter对象输出

语法:<c:out value=”执行表达式的结果
escapeXml=”设定是否转换XML的特殊字符true | false”
default=”如果value结果为null或空字符串,则输出default的值” />

7.<c:forTokens>针对某个字符串,由指定的字符为标志,依次取每个子串。

语法:<c:forTokens var=”存入当前的对象
items=”被处理的字符串
delims=”分隔子串的字符”>

         标签主体

         </c:forTokens>

8.<c:url>指定或改写某个URL

语法:<c:url vaule=”执行的URL”
context=”相同container的其它context”
var=”存入被引入的URL内容
scope=”范围

      标签主体,可以加入<c:param>标签来指定参数

</c:url>

 

9.<c:import>导入其它网页的内容,相当于<jsp:include>标准动作(于执行时期包含进来)

语法:<c:import url=”被包含进来的网址或文件
context=”相同container的其它context”
var=”url包含的内容
scope=”范围
charEncoding=”被包含网站或文件的字符编码”>

         标签主体,可以加入<c:param>标签来指定参数

         </c:import>

 

 

10.<c:redirect> 调用HttpServletResponsesendRedirect()方法,来重定向请求

语法:<c:import url=”重定向到的目标URI”
 标签主体,可以加入<c:param>标签来指定参数

         </c:redirect>

 

11.<c:param>传入某个参数

语法:<c:param name=”属性名称” value=”属性值” />

12.<c:catch>

它的作用是捕捉由嵌套在它里面的标签所抛出来的异常。类似于<%try{}catch{}%>,它的语法是:<c:catch [var=”varName”]>nested actions</c:catch>

举例:c_catch.jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<%@ page contentType="text/html; charset=gb2312" language="java" %>

<html>

<head>

  <title>JSTL:catch的使用</title>

</head>

<body bgcolor="#FFFFFF">

<c:catch var="error">

<%

  Integer.parseInt("sdkfj");

 %>

 </c:catch>

 <hr>异常:

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

 <hr>异常 exception.getMessage=

 <c:out value="${error.message}"/>

<hr> 异常exception.getCause=

 <c:out value="${error.cause}"/>

</body>

</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值