jstl标签的使用方式

一、什么是Jstl
  1. jstl是:java标准标签库
  2. jstl的作用:替代jsp中逻辑脚本(for,while,if等)
  3. 最终目的:使用jstl+el表达式完全替代jsp的脚本
二、使用jstl的准备工作
  1. 导入jstl的jar包(jdk5.0之后已经jstl库集成)
    手动导入的方式就是把jstl的jar包放到lib文件夹下
  2. 在页面上引入jstl标签库
    1. <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  3. 使用jstl标签
    1. forEach标签的使用:主要用于循环
      格式:<c:forEach items="具体遍历的元素(相当于JAVA中forecah循环里:后面的东西)" var="这里是遍历出的元素的变量名">
      例子:foeach循环
      第一种:
      1. <c:forEach items="${requestScope.map}" var="entry">
      2. //如果通过el表达式去输出内容,一定要通过html标签包裹
      3. <span>${entry.key}</span>
      4. <span>${entry.value.id}</span>
      5. <span>${entry.value.name}</span>
      6. <span>${entry.value.age}</span>
      7. </c:forEach>
      第二种:
      1. <c:forEach begin="1" end="10" step="2" varStatus="i">
      2. <!-- begin 是开始的数字 end是结束的位置,setp是表示每次增长几 -->
      3. <!-- 判断是否是第一个 -->
      4. ${i.first }
      5. <!-- 判断是否是最后一个 -->
      6. ${i.last }
      7. <!-- 获取正在执行的位置 -->
      8. ${i.index }
      9. </c:forEach>    
    2. forTokens标签的使用:用于切割字符串
      1. <%pageContext.setAttribute("str3", "a-b-c-de"); %>
      2. <c:forTokens items="${str3 }" delims="-" var="s">//按delims里的内容切割
      3. ${s }
      4. </c:forTokens>
    3. set标签的使用:主要用于设置值
      第一种用法:赋值
      1. <c:set var="String1" value="${fn:split(str,'-') }"> </c:set>
      第二种方法,向域中添加数据
      1. <c:set var="String1" value="${fn:split(str,'-') }" scope="page"> </c:set>

      第三种方法,向域中的对象设置值,前提是域中有这个对象
      1. <%pageContext.setAttribute("user", new User()); %>
      2. <c:set target="${user }" property="name" value="wangwu"> </c:set>
      3. ${user.name}
      propetry:需要设置的属性,value:需要设置的值,target:需要设置属性的对象
    4. if标签:主要用于判断
      1. <%pageContext.setAttribute("str4", "java") ;%>
      2. <c:if test="${str4=='java' }" var="res" scope="session">
      3. ${str4 }
      4. </c:if>
      5. ${sessionScope.res }
    5. import标签:引入页面,像是动态包含
      方式一:
      1. <c:import url="jstl/MyJsp.jsp" scope="page" var="url"></c:import>
      2. ${url }
      方式二:
      1. <c:import url="jstl/MyJsp.jsp"</c:import>
    6. out标签:主要用于输出值
      1. <%pageContext.setAttribute("name", "zhansan"); %>
      2. <c:out value="${name }" default="meimei"></c:out> //default的用处是,如果没有的时候,默认输出
      3. <c:out value="<h1>nihao</h1>" escapeXml="true"></c:out>//true的话就是进行文本输出不带格式
    7. Redirect标签:重定向标签
      1. <c:redirect context="/Demo7" url="/index.jsp">
      2. <c:param name="name" value="${name }"></c:param>
      3. </c:redirect>
      注意:context可以不写,写的话可以添加指向其他的web应用,并且可以通过param携带参数,参数是携带在url连接上的
    8. url标签:url重写
      1. <c:url value="/jstl/MyJsp.jsp" var="murl" scope="session"> </c:url>
      2. <a href="${murl }">地址</a>




posted @ 2016-01-01 18:56  蓝蝶岳  阅读(407)  评论(0编辑  收藏  举报