- PR -

JSPでのアクセッサメソッドの優先度

1
投稿者投稿内容
しん
会議室デビュー日: 2006/05/17
投稿数: 1
お住まい・勤務地: 東京
投稿日時: 2006-05-17 23:47
初めて投稿します。

<質問>
あるプロパティ属性について、get<Property>とis<Property>の
両方が存在するbeanに対し、JSPのgetPropertyアクションで参照した際に
実際にコールされるのはどちらのメソッドとなるのでしょうか?

JavaBeansのSPEC(version 1.01-A)を見る限りは、同一のプロパティに
対して両方のアクセッサメソッドを持つことを許しているようですが
その際の挙動については読み取れませんでした。


<経緯>
AP Serverをバージョンアップする必要があり検証をしているのですが
JSPの挙動が変わってしまい困っています。
旧:
AP Server: Weblogic 6.1(jdk1.3)
新:
AP Server: Weblogic 8.1(jdk1.4)

旧バージョンでは、get<Property> のメソッドがCallされ、所望の動きを
していたのですが、新バージョンにすると is<Propety> のメソッドが
Callされてしまい、true/false しか返ってきません。
この動きが仕様どおりなのでしょうか?

何か知見をお持ちの方がいらっしゃいましたら、アドバイスをお願いいたします。
----
しん
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-05-18 02:04
引用:

しんさんの書き込み (2006-05-17 23:47) より:
JavaBeansのSPEC(version 1.01-A)を見る限りは、同一のプロパティに
対して両方のアクセッサメソッドを持つことを許しているようですが
その際の挙動については読み取れませんでした。


読み取れないのであれば、どちらで実装しても構わないのが仕様かと。
そういう微妙な挙動までは仕様化しない可能性が高そうです。

というか、get<Property>とis<Property>で挙動が違うのって
かなり違和感あるんですけど・・・。バグの温床な感じです。
まいるどきゃっと
大ベテラン
会議室デビュー日: 2004/08/12
投稿数: 135
お住まい・勤務地: 群馬
投稿日時: 2006-05-18 10:25
根拠はありませんが、何となく実装依存っぽい気がするので、BEAに問い合わせてしまったほうがいいかと思います。

普通get<Property>とis<Property>のどちらか一方しかないはずですから、「両方あった場合まで面倒見る気はないよー」という実装がされているような気がします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-05-18 12:49
私も他の方と同じ意見です。
JavaBeanの実装者側で注意すべき事では?と思います。
1

スキルアップ/キャリアアップ(JOB@IT)