私は、Java Expression Languageタグを使用できるようにするプロジェクトのフロントエンドに取り組んでいます。 1つのインスタンスでは、配列が返されているのか、1ビットのデータしか返されていないのかを確認する必要があり、どのように処理するのかわかりません。ページ上のJava表現言語を扱う
例:
<p>Acme</p>
問題は、その建物の中でより多くがある場合、私はより多くの出力に必要であるビット:
をページが出力何かのようになります
<p>${WebAppContext.buildings[0].location.name}</p>
を持っています
擬似コードのようなもの:
if isArray(${WebAppContext.buildings}){
foreach(${WebAppContext.buildings} as foo){
//iterate over whatever is in the array
}
}
ので、私のような何かを出力することができます:
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
私はこのコードを生成するための責任のJava人々を尋ね、彼らは言った、「Dunnokindofbusyrightnowbuhbyeを。」私は皆さんにある程度の洞察があることを願っています。
ページにコードを貼り付ける以外に、私はこのJava表現言語(どのようにそれが呼び出されているかを見るためにそれを調べなければならなかった)をどのように扱うかを手がかりにしません。ですから、どんなアドバイス/リソースも役に立つでしょう。
EDIT:ページのソースで
<c:forEach var='building' items='${WebAppContext.buildings}'>
<p>${building.location.name}</p>
</c:forEach>
それだけを示しています:
<c:forEach var='meeting' items='[Lorg.foo.bar.baz.bat.serviceapi.webserviceobject.xsd.BuildingsWSO;@3823ff8'>
<p></p>
</c:forEach>
私は、次のと何も結果を得ていないのです試した
私は、Java表現言語について何も知らないことを認めます私はそれが私たちが使用するセットアップのパスをたどることがわかりますが、items = ''が変換される理由を理解できません。 は、今、私が使用している場合:
<p>${WebAppContext.buildings[0].location.name}</p>
<p>${WebAppContext.buildings[1].location.name}</p>
は私が手:
<p>Krustylu Studios</p>
<p>Springfield Nuclear Power Plant</p>
http://download.oracle.com/javaee/5/tutorial/doc/bnake.html – McDowell
あなたが本当に使用することはできません:
は、それからちょうどのようなTLDでそれをマッピングJSTLのようなtaglibs?あなたはJSPで作業していますよね? – BalusC
@BalusC:下記のforEachの提案を試してみるときに私が得意とすることを示すために質問を更新しました。 – Stuart