ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

Strutsで、HashMapのArrayList→logic:iterate

2009-07-09 16:50:54 | Weblog

 まえに、「データアクセスと処理との間の中間層のインターフェースは、ハッシュマップとその配列に集約する」 というのを書いたけど、そうすると、何がいいのか?について書かなかった。

 たとえば、Strutsで考えると、これらハッシュマップと、ハッシュマップの配列をsessionにいれておくと、

 画面のJSP内で、strutsタグで、

●ハッシュマップであれば、

  <bean:write name="セッション名" property="ハッシュマップのキー値" scope="session" />

 で、ハッシュマップの値が出力できる。

●一方、ハッシュマップの配列やハッシュマップのArrayListをセッションに入れた場合は、

 <logic:iterate id="変数名" name="セッション名" scope="session" indexId="インデックス変数">
    <bean:write name="変数名" property="ハッシュマップのキー値" />
 </logic:iterate>

 レコード分、ハッシュマップのキー値を書き出す。
 何レコード目かを出す場合は、インデックス変数を出力する、つまり

 <logic:iterate id="変数名" name="セッション名" scope="session" indexId="インデックス変数">
    <bean:write name="インデックス変数名" />
 </logic:iterate>

 でOK(このとき、昨日書いたエラーになることあり)

(ここまで < > は、本当は半角)




 ということは、つまり、

 SQLを引数として渡すと、結果をハッシュマップの配列で返すメソッドがあれば、

 StrutsのActionで、入力値などから、そのクラスを呼び出し、
 その結果をセッションに入れて、
 次画面JSPで、上記のように記述すれば、

 SQLを考えるだけで、あとは自動的に、画面上にデータを出力させることが出来ます。

 っていうメリットがあるんですねえ・・・

 つまり、入出力のインピーダンスを大幅に提言することが出来る。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする