-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberController.java
More file actions
87 lines (70 loc) · 2.74 KB
/
Copy pathMemberController.java
File metadata and controls
87 lines (70 loc) · 2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
package webservice;
import io.member.Member;
import io.member.MemberRepository;
import util.MyLogger;
import was.httpserver.HttpRequest;
import was.httpserver.HttpResponse;
import was.httpserver.servlet.annotation.Mapping;
import java.util.List;
import static util.MyLogger.log;
public class MemberController {
private final MemberRepository memberRepository;
public MemberController(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
@Mapping("/")
public void home(HttpResponse response){
String str = "<html><body>"
+"<h1>Member Manager</h1>"+
"<ul>" +
"<li><a href='members'>Member List</a></li>" +
"<li><a href='/add-member-form'>Add new Member</a</li>"
+"</ul>";
response.writeBody(str);
}
@Mapping("/members")
public void members(HttpResponse response) {
List<Member> members = memberRepository.findAll();
StringBuilder page = new StringBuilder();
page.append("<html><body>");
page.append("<h1>Member List</h1>");
page.append("<ul>");
for (Member member : members) {
page.append("<li>")
.append("ID: ").append(member.getId())
.append(", Name: ").append(member.getName())
.append(", Age: ").append(member.getAge())
.append("</li>");
}
page.append("</ul>");
page.append("<a href='/'>Back to Home</a>");
page.append("</body></html>");
response.writeBody(page.toString());
}
@Mapping("/add-member-form")
public void addMemberForm(HttpResponse respone) {
String body = "<html><body>" +
"<h1>Add New Member</h1>" +
"<form method = 'POST' action='/add-member'>" +
"ID : <input type='text' name='id'><br>" +
"Name : <input type='text' name='name'><br>" +
"Age : <input type='text' name='age'><br>" +
"<input type='submit' value='Add'>" +
"</form>" +
"<a href='/'>Back to Home</a>" +
"</body></html>";
respone.writeBody(body);
}
@Mapping("/add-member")
public void addMember(HttpRequest request, HttpResponse response) {
log("MemberController.addMember");
log("request = " + request);
String id = request.getParameter("id");
String name = request.getParameter("name");
int age = Integer.parseInt(request.getParameter("age"));
Member member = new Member(id,name,age);
memberRepository.add(member);
response.writeBody("<h1>save ok</h1>");
response.writeBody("<a href='/'>Back to Home</a>");
}
}