ここから本文です

javaのセッションスコープならびにEL式について質問です 独学で勉強し始めたばか...

nao********さん

2019/12/512:43:39

javaのセッションスコープならびにEL式について質問です
独学で勉強し始めたばかりで基本的な質問で申し訳ございませんがよろしくお願いします
<for Each var "user" item "

;${userList}">
名前:${user.name}、年齢:${user.age}
</for Each>
varの所のuserと
userList
user name
はどの様な役割をしているのかが全然わかりません

閲覧数:
10
回答数:
1

違反報告

ベストアンサーに選ばれた回答

2019/12/712:27:23

上の式は正しいのでしょうか。
<c:forEach var="user" items="${userList}" >
であるように思えますが。
<c:forEach>は繰り返し(ループ)処理を表現するもので、主にListに格納された値を表示するのに使います。
itemsは表示する値を格納したListをセッションに登録した時に指定した名前です。
上の例の場合、Javaのソースの方で

List<User> users= new ArrayList<>();
users.add(new User("name1",20));
users.add(new User("name2",21));
request.getSession.setAttribute("list", users);

のようにListを登録しているのでないかと思われます。
itemsに指定するのはセッションに登録した時のキー名、setAttribute("list", users)の箇所で指定しているキー名"list"です。

varに指定しているのはループの1回の処理の中でListから取り出した値を格納する変数名です。
上の例に場合、ループの1回目にはuserにListに格納した1つ目の値、new User("name1",20)で作ったオブジェクトが入ります。
userにはUserのオブジェクトが格納されているので、${user.name}、${user.age}ではUserのname、ageフィールドの値が出力されます。
上の例だと結果として
名前:name1、年齢:20
名前:name2、年齢:21
が表示されると思います。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる