黑马程序员技术交流社区

标题: foreach循环问题 [打印本页]

作者: zhanghuxin    时间: 2013-11-10 14:30
标题: foreach循环问题
我在页面用jstl 的foreach循环输出request里的list的值时,怎么判断?
${dis.ifSuccess}输出的是个1或2,我想让它是1 的时候页面输出"是",怎么弄呢?

<c:forEach items="${requestScope.alllog}" var="dis">
        <tr>
          <td height="41" valign="top">
            <input type="checkbox" name="checkbox" value="${dis.loginId}" />          </td>
              <td valign="top"><c:out value="${dis.loginId}"></c:out></td>
              <td valign="top"><c:out value="${dis.userId}"></c:out></td>
              <td valign="top"><c:out value="${dis.loginTime}"></c:out></td>
              <td valign="top"><c:out value="${dis.loginUserIp}"></c:out></td>
              <td valign="top"><c:out value="${dis.ifSuccess}"></c:out></td>
              <td valign="top"><c:out value="${dis.loginDesc}"></c:out></td>
            </tr>
        </c:forEach>
作者: pireteMrZ    时间: 2013-11-10 17:27
用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>




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2