Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(HttpServletRequestのsetAttributeについて)
閲覧数:649
掲示板(HttpServletRequestのsetAttributeについて)
名前
匿名
題名 HttpServletRequestのsetAttributeについて
質問内容

質問を評価する
(0ポイント)
初めまして。

現在Servletの勉強をしております。

そこで質問なのですが、setAttribute(String str,Object obj)
に例えばsetAttribute("obj","hogehoge");
とするとリクエスト先にデータが渡されるのですが、このsetAttribute
で渡されたデータをJSPで受け、${obj}とするとhogehogeと表示され
ます。
しかし、ELインタプリンタはMapオブジェクト、もしくはJava Beans
形式のオブジェクトのプロパティしか取得できないと本で見ました。
この場合プロパティは参照していないですが、Stringの場
合"hogehoge".toString()が呼ばれているのでしょうか?
もしそうだとするとStringクラスだけはこの2つの規則に従わないと
の事になる気がします。

それともStringクラスはJavaBeans形式のオブジェクトになるのでしょ
うか?
質問日時 2013-06-21 16:45:16
名前
匿名
回答内容

回答を評価する
(0ポイント)
×インタプリンタ
○インタプリタ

MapオブジェクトやJava Beansは、ピリオドでつないだものを指定したときの話だな。
そうでなければ単なる式。
2 * 3だって渡せる。
回答日時 2013-06-21 21:19:00
名前
匿名
回答内容

回答を評価する
(0ポイント)
ところでsetAttributeとは何の関係もないな。
回答日時 2013-06-21 21:19:40
名前
匿名
回答内容

回答を評価する
(0ポイント)
スレ主様の理解で正しいです。

解説サイトに書かれていない仕様に疑問を持つのは
非常に良いことです。

さて、"正しい"の根拠ですがEL式については
公式に次の仕様が公開されています。

https://jsp.java.net/spec/jsp-2_1-fr-spec-el.pdf

主様が疑問に持たれている箇所は、
「1.2.1.1 Eval-expressions as value expressions」
に記載があります。

※大抵は疑問に思った語句に「Specification」などをつけて
 検索すると仕様原本に当たれます。
 怪しいと思ったら、仕様原本を調べてみるのも一つの手です。
回答日時 2013-06-24 14:35:18

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道