JSTL标签(二)

来源:互联网 发布:sql timeout expired 编辑:程序博客网 时间:2024/05/17 07:04

<c:if>标签,可以根据不同的条件的条件处理不同的业务,即执行不同的程序代码,<c:if>标签和java中的if语句功能类似。

语法:

<c:if test=”condition” var=”name” scope=”page”>标签主体</c:if>

test,必选属性,用于指定条件表达式。var,用于指定变量名,这个属性会指定test属性的判断结果存放在那个变量中,如果该变量不存在就创建他。

例如:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'CIf.jsp' starting page</title>  </head>    <body>  <c:if test="${1<3}">  <%="满足条件!" %>  </c:if>  </body></html>

<c:choose><c:when><c:otherwise>标签

<c:choose>标签可以根据不同的条件完成指定的业务逻辑,如果没有符合条件的,则会执行默认条件的业务逻辑。需要注意的是<c:choose>标签只能作为<c:when><c:otherwise>标签的父标签。

他们的语法结构是:

<c:choose>       <c:whentest=”condition>       业务逻辑       </c:when>       <c:whentest=”condition”>       业务逻辑       </c:when>       <c:otherwise>       业务逻辑       </c:otherwise></c:choose>

<c:when>标签可以根据不同的条件执行相应的业务逻辑,<c:otherwise>标签用于指定默认条件处理逻辑。

<c:choose>标签中,如果发现一个test属性值为true<c:when>标签,则其后面的<c:when>标签将不再处理。

注意:在<c:choose>标签中必须有一个<c:when>标签,但是<c:otherwise>标签是可选的。

例如:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>      <title>My JSP 'CChoose.jsp' starting page</title>  </head>    <body>    <jsp:useBean id="date" class="java.util.Date"/>    <c:choose>    <c:when test="${date.hours>=0&&date.hours<5 }">    凌晨好!    </c:when>    <c:when test="${date.hours>=5&&date.hours<=8 }">    早上好!    </c:when>    <c:when test="${date.hours>=8&&date.hours<=11 }">    上午好!    </c:when>    <c:when test="${date.hours>=11&&date.hours<=13 }">    中午好!    </c:when>    <c:otherwise>    下午好!    </c:otherwise>    </c:choose>  </body></html>

<c:foreach>标签

<c:foreach>标签可以根据循环条件遍历数组和集合类中的所有或部分数据。

语法:1、数字索引迭代

<c:forEach begin="start"end="finish" var="name" varStatus="statusName"></c:forEach>

或集合成员迭代

<c:forEach items="data"var="name" begin="start" end="finish"varStatus="statusName"></c:forEach>

items是数组、集合、字符串和枚举类型。即被循环遍历的对象。

var循环体的变量,用于存储items指定对象的成员。

begin循环的起始位置,如果没有指定从第一个开始迭代。

end循环的终止位置,如果没有指定,则一直迭代到集合最后一位。

varStatus循环的状态信息,可以取indexcountfirstlast等值。

例如: 

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'CForeach.jsp' starting page</title>  </head>    <body>    <%    List list = new ArrayList();    list.add("小明");    list.add("小红");    list.add("小刚");    request.setAttribute("arrlist", list);     %>     <c:forEach items="${arrlist}" var="student" varStatus="id" begin="0">     ${id.index}  ${student}<br>     </c:forEach>  </body></html>

URL操作标签

url标签是指与文件导入、重定向URL地址生成以及参数传递相关的标签。

<c:import>标签,该标签可以导入站内或其他网站的静态或动态文件到web页面中,与<jsp:include>相比,<jsp:include>只能导入站内的资源,<c:import>更加灵活。

语法:

<c:import url="url"context="context" charEncoding="encoding"></c:import>

url是被导入的文件资源的URLcontext是上下文路径,用于访问同一个服务器的其他web工程,其值必须是以/开头;如果指定了该值,那么url属性值也必须以/开头。

charEncoding被导入文件的编码方式。

例如:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'CImport.jsp' starting page</title>  </head>    <body>    <c:import url="index.jsp" charEncoding="utf-8"></c:import>  </body></html>

<c:redirect>重定向标签,

<c:redirect>标签能将客户端发送的request请求重定向到其他URL服务端,由其他程序处理客户端请求。

语法:

    <c:redirect url="url">           <c:paramname="name"value="value"/>    </c:redirect>

param标签用于传递参数。参数名为name,值用value表示。

例如:

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*" pageEncoding="utf-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP 'CRedirect.jsp' starting page</title>  </head>    <body>    <c:redirect url="Login.jsp">    <c:param name="name" value="张三"/>    </c:redirect>  </body></html>

然后看处理页面

<%@ page language="java" contentType="text/html; charset=utf-8" import="java.util.*" pageEncoding="utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>     <title>My JSP 'Login.jsp' starting page</title>  </head>    <body>  <%request.setCharacterEncoding("utf-8"); %>    <%=request.getParameter("name") %>  </body></html>

 

1 0
原创粉丝点击