jstl标签的用法(一)

来源:互联网 发布:软件开发部门ios 编辑:程序博客网 时间:2024/06/11 04:11

首先下载jstl的标签库jakarta-taglibs-standard-current.zip,解压后将里面lib文件夹下的jstl.jar 和 standard.jar 两个jar包拷到自己工程WEB-INF\lib下,将标签库中的tld文件夹,拷到自己工程WEB-INF下,

在页面中引入对应的jstl的taglib,例如如果使用core标签,则引入:

<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>

然后即可使用jstl标签了。

下面总结一下core标签的用法:

页面引入<%@ taglib uri="/WEB-INF/tld/c.tld" prefix="c"%>

1.<c:out>

作用:输出字符,用来代替<%out.println("...")%>,或者<%= %>来输出对象的值。

例子:

[html] view plain copy
  1. <c:out value="${user.id}" default="0" escapeXml="false"/>  
  2.   
  3. <c:out value="${user.id}" escapeXml="false">0</c:out>  
  4.   
  5. <c:out value="${user.id}" default="0" />  
  6.   
  7. <c:out value="${user.id}" />  

2.<c:set>

作用:为变量或JavaBean中的变量属性赋值,用来代替<% request.setAttribute("", "") %>,其中的request也可以是page、session、application等。

例子:

[html] view plain copy
  1. <c:set var="name" value="this is set example" scope="request"/>  
  2.   
  3. <c:set var="user2" value="${user}" scope="request"/>  
  4.   
  5. <c:set target="${user}" property="name" value="hay, my name is xiaoming"/>  

3.<c:remove>

作用:删除存在于scope中的变量。用来代替<%request.removeAttribute(",,,")%> 等。其中的request也可以是page、session、application等内置对象。

例子:

[html] view plain copy
  1. <c:remove var="user" scope="session"/>  
  2.   
  3. <c:remove var="user" scope="request"/>  

4.<c:catch>

作用:用于捕获JSP元素抛出的异常,当错误发生<c:catch>和</c:catch>之间时,出错代码会被忽略,但整个网页不会中止。它包含一个var属性,是一个描述异常的变量,该变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。

 例子:

[html] view plain copy
  1. <c:catch var="pring">  
  2.  <%  
  3.   String a = (String)request.getAttribute("zeze");  
  4.   out.println(a.equals(""));  
  5.  %>  
  6. </c:catch>  
  7.   
  8. <if:testif:test=${pring!=null } >  
  9. occur error!  
  10. </if:test>  

5.<c:if>

作用:当测试表达式为true时,执行测试体代码。

例子:

[html] view plain copy
  1. <if:testif:test=${username=='user' } >  
  2. welcome, user  
  3. </if:test>   

6.<c:choose>

作用:用于嵌套<c:when>和<c:otherwise>动作。<c:choose>标签可以嵌套1个或多个<c:when>标签,0个或1个<c:otherwise>标签。

例子:

[html] view plain copy
  1. <c:choose>  
  2. <c:when test="${username=='xiaoming'}">  
  3. welcome, xiaoming  
  4. </c:when>  
  5. <c:when test="${username=='xiaohong'}">  
  6. welcome, xiaohong  
  7. </c:when>  
  8. <c:otherwise>  
  9. sorry, you are not xiaoming or xiaohong  
  10. </c:otherwise>  
  11. </c:choose>  

7.<c:when>

作用:等价于“if”语句,它包含一个test属性,表示需要判断的条件。

例子:见 <c:choose>

 

8.<c:otherwise>

作用:等价于“else”语句,不包括任何属性。

例子:见 <c:choose>

 

9. <c:forEach>

作用:相当与for循环,执行固定次数的body体中的代码。

例子:

[html] view plain copy
  1. <c:forEach var="item" begin="1" end="10" step="2">  
  2. ${item}   
  3. </c:forEach>  
  4.   
  5. <c:forEach items="${userList}" var="user" >  
  6. ${user.username}  
  7. </c:forEach>  

10. <c:forTokens>

作用:可以根据某个分隔符分隔指定字符串,相当于 java.util.StringTokenizer类。

例子:

[html] view plain copy
  1. <c:forTokens items="a,b,d,agc,bcd,haha" delims="," var="item">  
  2. ${item}  
  3. </c:forTokens>  

11. <c:import>

作用:包含另一个JSP页面到本页面来,类似于jsp中的<jsp:include>

例子:

[html] view plain copy
  1. <c:import url="http://www.163.com" >  
  2.   
  3. <c:import url="http://www.163.com" >  
  4.   <c:param name="test" value="1234" />  
  5. </c:import>   

12. <c:url>

作用:生成一个url

例子:

[html] view plain copy
  1. <c:url value="http://www.163.com" >  
  2. <c:param name="name" value="xiaoming"/>    
  3. </c:url>  
  4.   
  5. <a href="<c:url value="http://www.163.com" ><c:param name="name" value="xiaoming"/></c:url>">网易</a>  

13. <c:redirect>

作用:重定向

例子:

[html] view plain copy
  1. <c:redirect url=http://www.163.com>   
  2.    <c:param name="param" value="value"/>   
  3. </c:redirect>   

14. <c:param>

作用:用于传递参数

例子:见<c:import>,<c:url>,<c:param>

0 0