回答編集履歴

2

コード追加

2022/02/16 04:25

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -3,3 +3,33 @@
3
3
 
4
4
  Hiromu46 はサーブレットですので JSP に渡すパラメータとしてはオプジェクトが巨大で不適切です。
5
5
  パラメータとして使うデータオブジェクトを別途用意するほうが良いと思います。
6
+
7
+ 以下はご提示のコードからのイメージです。(コンパイル・動作確認はしていません。)
8
+ ```java
9
+ public User implements Serializable {
10
+ final String name;
11
+ final String id;
12
+ final String password;
13
+
14
+ User(String name, String id, String password) {
15
+ this.name = name;
16
+ this.id = id;
17
+ this.password = password;
18
+ }
19
+ }
20
+ ```
21
+ ```java
22
+ User user = new User(
23
+ request.getParameter("name"),
24
+ request.getParameter("id"),
25
+ request.getParameter("password")
26
+ );
27
+ request.setAttribute("user", user);
28
+ ```
29
+ ```jsp
30
+ <% User user = (User)request.getAttribute("user"); %>
31
+
32
+ <p><%= user.name %> </p><br>
33
+ <p><%= user.id %> </p><br>
34
+ <p><%= user.password %> </p><br>
35
+ ```

1

表現変更

2022/02/16 02:48

投稿

jimbe
jimbe

スコア12659

test CHANGED
@@ -1,4 +1,4 @@
1
- JSP で取り出している Hiromu46 オブジェクトは doPost で `Hiromu46 hiromu46 = new Hiromu46();` で作成されているモノであり、サーブレットとして動作 `request.getParameter` で name 等のフィールドに値が設定されてい( サーブレットコンテナによって生成された )Hiromu46 オブジェクトとは**別モノ**です。
1
+ JSP で取り出している Hiromu46 オブジェクトは doPost で `Hiromu46 hiromu46 = new Hiromu46();` で作成されているモノであり、サーブレットコンテナによって生成されサーブレットとして動作中で `request.getParameter` で name 等のフィールドに値が設定される Hiromu46 オブジェクトとは **別モノ** です。
2
2
  ですので値入力する前も後もありません。両者に ( 同じクラスであるという以外 ) 関係はありません。
3
3
 
4
4
  Hiromu46 はサーブレットですので JSP に渡すパラメータとしてはオプジェクトが巨大で不適切です。