2

language私は機能IDを持つクラスを持っていますName. メンバー変数として持つ別のクラスLanguage_Listがあります。ArrayList<language> lang

ArrayList<language> langJSP ページで、EL と For each ループを使用して Name 変数にアクセスしたいと考えています。

<c:forEach var="language" items="${languages.lang}">
  ${language}<br>
</c:forEach>

ただし、アリの結果は表示されず、インテリセンスも機能しません。この PS で私を助けることができる人は誰でも: 言語は Bean 変数であり、DB からの言語のリストが含まれています。これを試して、これを取得しました。

 <b>${languages.lang}</b>
HTML

[sakila.language@f1541c, sakila.language@63c8fabf, sakila.language@1fc644c7, sakila.language@11cd751d, sakila.language@47c3cc0c, sakila.language@7894ca3, sakila.language@47066532, sakila.language@74ddla0b, .language@1116441e, sakila.language@4cd21655, sakila.language@74b84dd9, sakila.language@6fff1d6c, sakila.language@55e4d6e5, sakila.language@22d88071, sakila.language@33d88c96, sakila.language@4df5e @4aec2cb3, sakila.language@576ac232, sakila.language@76a6dbd7, sakila.language@44ab3d1c, sakila.language@46391c7c, sakila.language@4f7d34e8, sakila.language@251c941d, sakila.language@77400ef3]

4

1 に答える 1

2

EL はオブジェクトのフィールドにアクセスしません。オブジェクトの Bean プロパティにアクセスします。これは、${languages.lang}が への呼び出しに変換されることを意味しlanguages.getLang()ます。

ただし、そのようなゲッターがない場合は、例外が発生します。何も表示されない場合は、おそらくlanguagesが null であるか、そのlangリストが null または空であることが原因です。これらの推測を​​確認または否定するには、Bean とその言語のリストを作成および設定するコードと、JSP からアクセスできるようにどこに保存するかを確認する必要があります。

もう 1 つの可能性は、JSP の先頭でコアの taglib を宣言するのを忘れたことです。それを確認または確認するには、JSP のコードと、JSP によって生成された HTML コードを貼り付けます (ブラウザーで[ページのソースを表示]を使用)。

于 2012-12-23T14:20:40.147 に答える