JSTL+ELによるループ反復

3608 ワード


使用前にパッケージをインポートする必要があります jstl.jarと standard.jar
<%@ page language="java" import="java.util.*,com.wzh.test.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>  el+jstl      </title>
    
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>
  
  <body><br>
    
        <% 
        List list=new ArrayList(); 
        list.add(new Person("aa")); 
        list.add(new Person("bb")); 
        list.add(new Person("cc")); 
        request.setAttribute("slist", list); 
    %>
    <c:forEach items="${slist }" var="person">
        ${person.name} </br>
    </c:forEach>
    
    <%
        Map map = new HashMap();
        map.put("aa", new Person("aaa"));
        map.put("bb11", new Person("bbb"));
        request.setAttribute("smap", map);
    %>
    
    <c:forEach items="${smap }" var="entry">
        ${entry.key } : ${entry.value.name }  </br>
    </c:forEach>
    
    <c:if test="${user!=null }">
           :${user.username }
    </c:if>
    
    <c:if test="${user==null }">
           
    </c:if>
  </body>
</html>