通用标签
•<c:remove>标签–<c:remove>标签用于移除JSP页面中指定域范围中的变量。–语法<c:remove var=“name” [scope=“范围”]/>–【示例3】<c:remove>的用法。
条件标签•<c:catch>标签–<c:catch>标签用于捕获嵌套在标签体内的内容抛出的异常对象,并将异常信息保存到变量中。–语法<c:catch [var=“name”]>body content</c:catch>将可能发生异常的代码放到该标签中,如果发生异常,异常信息保存到name变量中。
•<c:if>标签–<c:if>标签用来做条件判断,功能类似于JSP中的<%if(boolean){}%>。–语法:–<c:if test="condition" var="varName" [scope=""]/>–<c:if test="condition" var="name" scope=""></c:if>–【示例5】<c:if>的用法
•<c:choose>、<c:when>、<c:otherwise>标签–<c:choose>标签用于提供条件选择的上下文,它必须与<c:when>和<c:otherwise>标签一起使用。–<c:when>作为<c:choose>的子标签,<c:when>有一个test属性,该属性的值为布尔型,如果test的值为true,则执行<c:when>标签体的内容。–<c:otherwise>标签没有属性,它必须作为<c:choose>标签的最后分支出现。•语法格式:•<c:choose>•<c:when test=''condition">条件为true的时候执行</c:when>(一个或多个)•<c:otherwise></c:otherwise>(零个或者一个)•</c:choose>
迭代标签:
•<c:forEach>标签–<c:forEach>标签用于对包含了多个对象的集合进行迭代,重复执行它的标签体
注意:items属性并不是一定要有的属性,但是当没有使用items属性时,就一定要使用begin和end属性。ØvarStatus:用来保存现有遍历计数相关的信息。例如,如果varStatus=“i”,那么会将相应信息放到名称为i的变量中,i变量有四个属性值,index、count、first和last。Ø
•语法格式:•对多个对象集合进行迭代•<c:forEach var="varName" items="collection" varStatus="StringName" begin="beginindex" end="endindex" step="step">•bodycontent•</c:forEach>
<c:forEach items=“${names}” var=“name” varStatus=“i”>${name}<br>index:${i.index} <br> count:${i.count} <br>first:${i.first} <br> last:${i.last}<br></c:forEach>
•<c:forTokens>标签–<c:forTokens>标签用来浏览一字符串中所有的成员,其成员是由定义符号(Delimiters)所分隔的。<c:forTokens items=“a:b:c:d” delims=“:” var=“token”><c:out value=“${token}” /> <br></c:forTokens>注意:这个标记的使用效果相当于java.util.StringTokenizer类。将字符串“a:b:c:d”以“:”分隔符分开,token是循环到当前所分割得到的字符串。
URL相关的标签
•JSP网页开发中经常用到超链接、页面的包含和重定向等操作,在JSTL中,也提供了相应的标签来完成这些功能,这些标签包括<c:import>、<c:url>、<c:redirect>和<c:param>。•<c:import>标签:可以把其他静态或者动态文件包含到本身的JSP页面中。与JSP的动作<jsp:include>的区别在于:<jsp:include>只能包含和自己在同一个Web应用中的文件,<c:import>不仅能包含和自己在同一个Web应用下的文件,还可包含其他Web应用或其他网站的文件。
•属性–url属性是必须要有的,它是用来设定被包含页面的地址,可以是绝对地址也可以是相对地址。–url如果使用相对地址,把同一个Web应用中的文件引入的话,例如<c:import url=“MyHtml.html”/>–还可使用绝对路径,将其他网站的文件包含进来。例如<c:import url=“http://www.baidu.com” charEncoding=“gb2312”/>–当var属性存在时,把文件内容包含进来,但是它不输出到网页上,而是保存到var设定的变量中,而属性scope设定该变量的作用范围。–charEncoding:导入资源的字符编码
•<c:url>标签–<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>
•<c:redirect>标签–<c:redirect>标签用于向用户的浏览器发送HTTP重定向响应,它是JSTL中与 javax.servlet.http.HttpServletResponse的sendRedirect()方法功能相当的标记。–语法格式:–<c:redirect url="url" context="contextName"/>–<c:redirect url="url" context="contextName">–<c:param name="paraname" vlaue="paramvalue"/>–</c:redirect>
•<c:param>标签–<c:param>标签的作用是为一个URL添加请求参数,在前面的<c:url>、<c:redirect>和<c:import>标签中都已经见过<c:param>的用法。