日期:2014-05-16  浏览次数:20355 次

JSTL 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>

?