回答編集履歴

1

読み直してみて問題点が分かったかもしれませんので、その点を追記しました。

2016/04/10 14:40

投稿

argius
argius

スコア9388

test CHANGED
@@ -17,3 +17,71 @@
17
17
 
18
18
 
19
19
  JSTLとスコープ、これが分からなければ、まずそこから勉強してみましょう。
20
+
21
+
22
+
23
+ ---
24
+
25
+
26
+
27
+ (追記)
28
+
29
+
30
+
31
+ なんとなく分かったかもしれません。
32
+
33
+
34
+
35
+ `href="./Detail?Id=${tmp.Id}"`
36
+
37
+ で渡そうとしているんですね。
38
+
39
+
40
+
41
+ でも、DetailサーブレットってListにリダイレクトしてますよね。
42
+
43
+ ここは更新のJSPを出すところですか?
44
+
45
+
46
+
47
+ サーブレットは、一覧、詳細、更新をそれぞれ用意するほうが良いですね。
48
+
49
+ ひとつ足りないように思います。
50
+
51
+
52
+
53
+ 一覧 list
54
+
55
+ 詳細 detail
56
+
57
+ 更新 update
58
+
59
+
60
+
61
+ のような感じです。
62
+
63
+
64
+
65
+ 今は詳細と更新がごっちゃになっていると思います。
66
+
67
+ 今の`Detail`サーブレットは`UpdateServlet`にして、
68
+
69
+ あらためて`DetailServlet`を詳細表示用に追加しましょう。
70
+
71
+ そして、更新JSPのformのアクションを、`UpdateServlet`にします。
72
+
73
+
74
+
75
+ それと、更新のJSPを出すところですが、
76
+
77
+ tmpを引き継ぐのではなく、詳細サーブレットで再度渡されたIDのユーザーを取り出して
78
+
79
+ requestスコープに登録してあげるようにする方が良いでしょう。
80
+
81
+ ```request.setAttribute("tmp", user);```のように。
82
+
83
+
84
+
85
+ あとできれば、変数名は`tmp`じゃなくて`userInfo`とかの方が良いと思います。
86
+
87
+ `user`はログインで使ってしまっていますからね。