jstl标签

来源:互联网 发布:杨闻萍审计 知乎 编辑:程序博客网 时间:2024/06/18 11:22

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>








0 0