jstl标签库,通过maven配置:
<!-- jstl标签的支持 --> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> <version>1.2</version> </dependency>
常用标签:out、set、remove、catch、if、choose、when 和 URL
表达式操作标签包括 out、set、remove 和 catch。
1.out
out 标签的使用格式如下: <c:out value=”object” [escapeXml=”true|false”] /> 这个标签还可以有一个体,如下: <c:out value=”object” [escapeXml=”true|false”] >default value</c:out>
这表示当 value 属性指定的 object 值为 null 时,就会显示体中指定的值(也就是 default value),体
中也可以是 JSP 代码。
<c:out>中的各个属性:
value:可以指定一个字符串作为输出内容,也可以为 EL 表达式,例如${3+5}。
escapeXml:类型为 boolean,确定<、>、&、’、”等这些字符在结构的字符串中是否被转换成字
符串实体代码,默认的是 true。
default value:可以是字符串,还是一个表达式(EL 表达式或者<%=表达式%>的 JSP 表达式)。
如果属性指定的表达式或者对象值为 null 时,那么将输出这个 default value 部分的值。
例子:
<h4><c:out value="第一个 JSTL 的 JSP 程序,使用 JSTL 的标签迭代输出信息"/></h4> <% String items[] = new String[3]; items[0] = "jstl标签库"; items[1] = "国际标签库"; items[2] = "sql标签库"; //把数组变量保存在request对象中 request.setAttribute("items", items); %> <table border="1"> <c:forEach var="item" items="${items}"> <tr> <td><c:out value="${item}"/></td> </tr> </c:forEach> </table> <c:out value="${3+4}"/><br> <c:out value="<p>有特色字符串</p>"/><br> <c:out value="<p>有特色字符串</p>" escapeXml="false"/><br>
2.set
set 标签是使用来在某个范围(request、session 或者 application)内设值,或者设置某个对象的属性
值。
set 标签的使用格式如下:
(1)使用 value 属性在一个特定的范围内指定某个变量的值,其使用格式如下:
<c:set var=”varName” value=”varValue” [scope=”page|request|session|application”] />
(2)当使用 value 属性在一个特定范围内指定某个变量的值时,也可以包括一个体,它的作用和
out 标签体的作用一样,即 value 指定的值为 null 时,默认使用体中指定的值,使用格式如下:
<c:set var=”varName” value=” Value” [scope=”page|request|session|application”] >
default value
</c:set>
(3)设置某一个特定对象属性的使用格式如下:
<c:set property=”propertyName” target=”target” value=”value” />
(4)在设置某个特定对象的一个属性时,也可以有一个体,也指定默认值,使用格式如下:
<c:set property=”propertyName” target=”target” value=”value” >
default value
</c:set>
该标签中的各属性说明如下:
value:该属性指定变量或者对象中某个属性的值,并且可以是一个表达式。
var:变量名称,value 属性指定的值就保存在这个变量中
scope:设定变量的有效范围,如果不设置,则默认为 page。
target:设置属性的一个对象,它必须是 JavaBean 或者 java.util.Map 对象。
property:设置对象中的一个属性。