el语言${}在jsp中是默认使用的,
没想到jstl的标签在jsp中竟然不能使用,需要导入jstl.jar和standard.jar之后才能识别并使用。
如果开发中使用到jsp,标签语言是必须用到的,因为除了静态的html内容,其他的要是从后台数据库取出来的数据,一般是需要转化和判断的。
在standard.jar中有c.tld文件;
这应该是<%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>也就是核心标签库中的标签定义。
引入核心core标签之后有以下可用的标签:
标签 描述
<c:out> 用于在JSP中显示数据,就像<%= ... >
<c:set> 用于保存数据
<c:remove> 用于删除数据
<c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来
<c:if> 与我们在一般程序中用的if一样
<c:choose> 本身只当做<c:when>和<c:otherwise>的父标签
<c:when> <c:choose>的子标签,用来判断条件是否成立
<c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行
<c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面
<c:forEach> 基础迭代标签,接受多种集合类型
<c:forTokens> 根据指定的分隔符来分隔内容并迭代输出
<c:param> 用来给包含或重定向的页面传递参数
<c:redirect> 重定向至一个新的URL.
<c:url> 使用可选的查询参数来创造一个URL
不知道跟jsp自带的标签功能会不会有重叠的,不过一般喜欢使用jstl。
先来看最常用的
if
标签定义吧:
<tag>
<description>
Simple conditional tag, which evalutes its body if the
supplied condition is true and optionally exposes a Boolean
scripting variable representing the evaluation of this condition
</description>
<name>if</name>
<tag-class>org.apache.taglibs.standard.tag.rt.core.IfTag</tag-class>
<body-content>JSP</body-content>
<attribute>
<name>test</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
<type>boolean</type>
</attribute>
<attribute>
<name>var</name>
<required>false</required>
<