|
7 | 7 | import java.io.OutputStream; |
8 | 8 | import java.nio.charset.StandardCharsets; |
9 | 9 | import java.nio.file.Files; |
| 10 | +import java.util.Collection; |
| 11 | +import java.util.List; |
| 12 | +import model.User; |
10 | 13 |
|
11 | 14 | public class HttpResponse { |
12 | 15 |
|
@@ -52,6 +55,36 @@ public static HttpResponse ok(String viewName) throws IOException { |
52 | 55 | return new HttpResponse(statusLine, responseHeaders, responseMessageBody); |
53 | 56 | } |
54 | 57 |
|
| 58 | + public static HttpResponse ok(String viewName, List<User> users) throws IOException { |
| 59 | + StringBuilder sb = new StringBuilder(); |
| 60 | + List<String> fileLines = Files.readAllLines(new File("./webapp" + viewName).toPath()); |
| 61 | + for (String fileLine : fileLines) { |
| 62 | + if (fileLine.equals("<!-- user list -->")) { |
| 63 | + int userCount = 0; |
| 64 | + sb.append(" <tbody>\r\n"); |
| 65 | + for (User user : users) { |
| 66 | + userCount++; |
| 67 | + sb.append(" <tr>\r\n"); |
| 68 | + sb.append(" <th scope=\"row\">").append(userCount).append("</th>"); |
| 69 | + sb.append(" <td>").append(user.getUserId()).append("</td>"); |
| 70 | + sb.append(" <td>").append(user.getName()).append("</td>"); |
| 71 | + sb.append(" <td>").append(user.getEmail()).append("</td>"); |
| 72 | + sb.append("<td><a href=\"#\" class=\"btn btn-success\" role=\"button\">수정</a></td>\r\n"); |
| 73 | + sb.append(" </tr>\r\n"); |
| 74 | + } |
| 75 | + sb.append(" </tbody>\r\n"); |
| 76 | + } |
| 77 | + sb.append(fileLine).append("\r\n"); |
| 78 | + } |
| 79 | + byte[] messageBody = sb.toString().getBytes(StandardCharsets.UTF_8); |
| 80 | + StatusLine statusLine = new StatusLine(new HttpVersion("HTTP/1.1"), HttpResponseStatus.OK); |
| 81 | + ResponseHeaders responseHeaders = new ResponseHeaders(); |
| 82 | + responseHeaders.setContentType("text/html;charset=utf-8"); |
| 83 | + responseHeaders.setContentLength(messageBody.length); |
| 84 | + ResponseMessageBody responseMessageBody = new ResponseMessageBody(messageBody); |
| 85 | + return new HttpResponse(statusLine, responseHeaders, responseMessageBody); |
| 86 | + } |
| 87 | + |
55 | 88 | public static HttpResponse found(String redirectURI) { |
56 | 89 | StatusLine statusLine = new StatusLine(new HttpVersion("HTTP/1.1"), HttpResponseStatus.FOUND); |
57 | 90 | ResponseHeaders responseHeaders = new ResponseHeaders(); |
|
0 commit comments