JSTLのCoreライブラリ c:forEach の利用についてわかりやすく説明します。JSP/Servlet

本記事にはプロモーションが含まれています。

  1. package controller;
  2. import java.io.IOException;
  3. import java.util.ArrayList;
  4. import java.util.List;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.annotation.WebServlet;
  7. import javax.servlet.http.HttpServlet;
  8. import javax.servlet.http.HttpServletRequest;
  9. import javax.servlet.http.HttpServletResponse;
  10. import dto.User;
  11. /**
  12. *Servlet implementation class UserList
  13. */
  14. @WebServlet(“/user”)
  15. public class UserListServlet extends HttpServlet {
  16. private static final long serialVersionUID = 1L;
  17. /**
  18. *@see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  19. */
  20. protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  21. List userList = new ArrayList<>();
  22. userList.add(new User(“山田”, 25));
  23. userList.add(new User(“佐藤”, 27));
  24. userList.add(new User(“田中”, 21));
  25. request.setAttribute(“userList”, userList); request.getRequestDispatcher(“/WEB-INF/view/user.jsp”).forward(request, response);
  26. }
  27. }

User.java

  1. package dto;
  2. public class User {
  3. private String name;
  4. private int age;
  5. public User(String name, int age) {
  6. this.name = name;
  7. this.age = age;
  8. }
  9. public String getName() {
  10. return name;
  11. }
  12. public void setName(String name) {
  13. this.name = name;
  14. }
  15. public int getAge() {
  16. return age;
  17. }
  18. public void setAge(int age) {
  19. this.age = age;
  20. }

user.jsp

  1. <%@ page pageEncoding=”UTF-8″%>
  2. <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>
  3. <%@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt” %>
  4. <html>
  5. <head></head>
  6. <body>
  7. <h1>生徒名簿</h1>
  8. <table border=”1″>
  9. <tr>
  10. <th>番号</th>
  11. <th>名前</th>
  12. <th>年齢</th>
  13. </tr>
  14. <c:forEach items=”${userList}” var=”user” varStatus=”vs”>
  15. <tr>
  16. <td><c:out value=”${vs.count}” /></td>
  17. <td><c:out value=”${user.name}” /></td>
  18. <td><c:out value=”${user.age}” />才</td>
  19. </tr>
  20. </c:forEach>
  21. </table>
  22. </body>
  23. </html>


タイトルとURLをコピーしました