JSTL标签库2

<c:if>标签

  <c:if test=“”>标签可以构造简单的“if-then”结构的条件表达式

  

<html>
  <body>
  	
  	<c:if test="${10>6}" var="haha" scope="page">
  		<c:if test="${10<20}" var="haha" scope="page">呵呵</c:if>
  	</c:if>
  	<c:out value="${haha}" />
  </body>
</html>

<c:choose>标签

  <c:choose>标签用于指定多个条件选择的组合边界,它必须与<c:when><c:otherwise>标签一起使用。使用<c:choose><c:when><c:otherwise>三个标签,可以构造类似 “if-else if-else的复杂条件判断结构。

<html>
  <body>
	<%-- <c:set value="48" var="num"/>  	 --%>
	<c:set var="num" value="${param.num}" /><!-- 传参数:http://localhost:8080/myday17/c_choose.jsp?num=23  -->
  	<c:choose>
  		<c:when test="${num>4 && num <10}">>4 && <10</c:when>
  		<c:when test="${num>10 && num<20 }"> <10 && <20</c:when>
  		<c:otherwise>>20 && <4</c:otherwise>
  	</c:choose>
  </body>
</html>

<c:forEach>标签

  <c:forEach>标签用于对一个集合对象中的元素进行循环迭代操作,或者按指定的次数重复迭代执行标签体中的内容。 

  

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
  	<%-- 
	  	<jsp:useBean id="HashMap" class="java.util.HashMap" scope="page" />
	  	<c:set target="${HashMap}" property="key"  value="01"></c:set>
	  	<c:set target="${HashMap}" property="value"  value="hacket"></c:set> 
  	--%>
  	<%
  		List<String> arrayList = new ArrayList<String>();
  		arrayList.add("hacket");
  		arrayList.add("jack");
  		arrayList.add("marry");
  		arrayList.add("nia");
  		arrayList.add("sisfa");
  		arrayList.add("fagas");
  		//加入到与对象中去
  		request.setAttribute("arrayList", arrayList);
  	 %>
	<c:forEach var="list" items="${arrayList}" varStatus="listStatus">
		<br/>
		${list}
		${listStatus.index}<!-- 索引号 -->-${listStatus.first}<!-- 是否为第一个元素 -->-${listStatus.last}-<!-- 是否为最后一个元素 -->${listStatus.count}<!-- 总共有多少个 --><br/>
	</c:forEach>
  </body>
</html>

<c:param>标签

在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。

<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数。

<c:param>标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用<c:param>标签的最大好处。 

示例:<c:param name=“name” value=“中国" />

<c:url>标签

<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面 

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    <%-- a标签是基本标签 --%>
    <a href="/day17/value.jsp?country=<%=URLEncoder.encode("中国","UTF-8")%>">
    	传统方式传中文
    </a>
  	<hr/>
  	<%-- c:url不是基本标签,底层对应标签处理类,以转发方式进行 --%>
  	<c:url var="myURL" value="/value.jsp" scope="page">
  		<c:param name="country" value="中国"/>
  	</c:url>
	<a href="${myURL}">  	
  		现代方式传中文
  	</a>
  </body>
</html>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="java.net.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
	<%
		String country = request.getParameter("country"); 
		byte[] b = country.getBytes("iso-8859-1");
		out.write(new String(b,"utf-8"));
	%>  	
  </body>
</html>

<c:redirect>标签

<c:redirect>标签用于将当前的访问请求转发或重定向到其他资源,它可以根据url属性所指定的地址,执行类似<jsp:forward>这个JSP标准标签的功能,将访问请求转发到其他资源;或执行response.sendRedirect()方法的功能,将访问请求重定向到其他资源。 
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.net.*" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
	<c:redirect url="/value.jsp">
		<c:param name="country" value="美国"/>
		<c:param name="tel" value="XXX"/>
	</c:redirect>
  </body>
</html>

 

posted @ 2013-04-13 11:11  hacket520  阅读(197)  评论(0)    收藏  举报