Jstl标签的用法

转自:http://blog.163.com/yiba_suanzao/blog/static/1305573772009929114816739/

Jstl标签<c:if>的用法

<c:if> 标签必须要有test属性,当test中的表达式结果为true时,则会执行本体内容;如果为false,则不会执行。例如:${requestScope.username = = 'admin'},如果requestScope.username等admin时,结果为true;若它的内容不等于admin时,则为false。

接下来看下列的范例:

<c:if test="${requestScope.username = = 'admin' }">

ADMIN您好!! //body部分

</c:if> 如果名称等于admin,则会显示"ADMIN您好!! "的动作,如果相反,则不会执行<c:if>的body部分,所以不会显示"ADMIN您好!! //body部分"。另外<c:if>的本体内容除了能放纯文字,还可以放任何JSP程序代码(Scriptlet)、JSP 标签或者HTML码。

除了test属性之外,<c:if>还有另外两个属性var和scope。当我们执行<c:if>的时候,可以将这次判断后的结果存放到属性var里;scope则是设定var的属性范围。哪些情况才会用到var和scope这两个属性呢?例如:当表达式过长时,我们会希望拆开处理,或是之后还须使用此结果时,也可以用它先将结果暂时保留,以便日后使用。

例子:

<%     

        String amind="Admin";   
                request.setAttribute("amind",amind); 

%>

<c:if test="${requestScope.amind=='Admin'}" var="condition" scope="request">
您好Admin先生
</c:if>


转自:http://www.cnblogs.com/wanggd/archive/2013/05/27/3101788.html

jsp中的类似  if - else 语句 的语法

<c:choose>
   <c:when test="${requestScope.newFlag== '1' || requestScope.newFlag== '2' ||requestScope.newFlag== '3'}">  
         作品名称: ${star.class_}<br />
         作品编号: ${star.raceNum}<br />       
   </c:when>
   <c:otherwise> 
     班级: ${star.class_}<br />
     参赛编号: ${star.raceNum}<br /> 
   </c:otherwise>
</c:choose>


例子:
<%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>taglib</title>
</head>
<body>
<c:if test="${1<2}">
    <c:out value="1<2 is true"/>
</c:if>
<c:if test="${1>2}">
    <c:out value="1>2 is false"/>
</c:if>
</body>
</html>