jstl标签

Part 1 为什么有jstl:

  (1)在应用程序服务器之间提供统一的接口,从而提供了web应用在不同服务器的移植 
  (2)简化jsp于web应用程序的开发 
  (3)减少jsp代码,使其更加简洁 
  (4)提高jsp开发速度 

在myeclipse建立web工程时勾中jstl即可使用jstl 

Part 2 jstl的使用

2.1一般用途

1、c:out

<c:out value="${abc}"/>
//相当于request.getAttribute("abc").toString
//如果域对象中有相同属性名,则按优先级pagecontext>request>session>application的顺序依次取出
<%
User u=new User();
u.setName("小明");
u.setAge(30);
request.setAttribute("user1",u);
%>
<c:out value="${user1.name}"/>
2、c:set

<c:set var="abc" value="中国北京“ scope="request"/>
//相当于request.setAttribute("abc","中国北京");
3、c:remove

<c:remove var="a" scope="rquest"/>
4、c:catch
<c:catch var="myexception">
<% int i=8/0; %>
</c:catch>
<c:out value="${myexception.message}"/> 
2.2 条件标签
1、c:if
<c:if test="${a=="hello"}">
ok!
</c:if>
<c:if test="${rat1.age>3}">
小老鼠依依年龄大于3
</c:if>
2、c:choose

<c:choose>
<c:when test="${rat1.age<2}">小老鼠依依年龄小于2</c:when>
<c:otherwise>小老鼠依依年龄大于等于2</c:otherwise>
2.3 迭代标签
1、c:forEach
<c:forEach items="${allrats}" var="rat">
<c:out value="${rat.name}"/>
<c:out value="${rat.age1}"/>
</c:forEach>
<c:forEach var="i" begin="1" end="10" step="3">
<c:out value="${i}"/>
</c:forEach>
2、forTokens
<c:forTokens items="12;56;你好;ddd" delims=";" var="temp">
${temp}
</c:forTokens>
<c:forTokens items="${temp}" delims=";" var="temp">
</c:forTokens>
Part 3 jstl加强

3.1 对map和set的迭代
map:

<c:forEach items="${persons}" var="per">
key=${key.key} 值=${per.value}
</c:forEach>
set:

<c:forEach items="${myrats}" var="myrat">
value=${myrat.name} || age=${myrat.age}
</c:forEach>
3.2 如何使用jstl if去判断集合是否为空
<c:if test="${empty myrats}">
没有老鼠
</c:if>
3.3 url相关标签

c:import、c:param、c:redirect

<c:direct url="http://www.sohu.com">
</c:direct>

<c:import url="a.jsp">
<c:param name="name" value="shunping"/>
</c:import>
3.4 jstl if中也可以写函数

<c:if test="${2>1?true:false}">
ok!!!
</c:if>








你可能感兴趣的:(jstl标签)