2009-07-02 8 views
7

Javaで行うように、JSPでList内のObjectの型を取得することは可能ですか?JSPでは、Listに存在するObjectの型を特定する方法は?

myDataBind.getResultsList().get(0).getClass(); 

または次のようなことが可能です:

if (myDataBind.getResultsList().get(0) instanceOf MyClass) { 
    doThis; 
} 

スクリプトレットはありませんが、スクリプトレットなしでは実行できない場合は、解決策までお知らせください。

  • リスト内のすべてのオブジェクトが同じ型であると仮定します。

答えて

12

、あなたはJavaBeanの仕様を使用して、すべてを取得することができます - あなたはJavaではgetClass()を使用したい場合は、JSTLでの.class使用します。

これはあなたのクラス名を記述します。

${myList[0].class} 
+4

ニート。 $ {myList [0] .class.name}はクラス名になります(シンプルなtoStringは "class java.lang.String"または "interface java.util.Map"を出力します) – Thilo

9

私はこの質問が6歳であることを認識しています。しかし、JSPでオブジェクトのJavaクラスを取得する方法を探している人がこの質問を見つけた場合、JSPの現在のバージョンでは実際にはこの表記法を使用できません。する必要があります

${myList[0]['class']} 

代わりに行う必要があります。クラス名を文字列として使用する場合、このメソッドは前述の.nameメソッドでうまく動作します。あなたは、あなたがよりここに見つけることができ

${myList[0]['class'].name} 

をするでしょう:https://bz.apache.org/bugzilla/show_bug.cgi?id=50120

・ホープこれは誰かに役立ちます!

+0

なぜそれが直感的でないのか不思議です。 – killjoy

関連する問題