• 締切済み

現在、sastrutsを使用し、プログラミングを行っています。

現在、sastrutsを使用し、プログラミングを行っています。 概要 現在作成しているプログラムはマスタメンテナンスです。 社員情報を、指定されたコードの数だけ取り出し、参照画面に表示。 参照画面では、社員情報の修正が行えます。 その後、入力チェックを行い、エラーが無ければ、確認画面を表示。 更新確認画面で、OKが押下されれば、更新されるというプログラムです。 詳細 更新確認画面では、変更された情報部分を赤く表示します。 JSTLタグを使わずに、作成した更新確認画面用のプログラムは以下のコードです。 このプログラムは、問題なく動いています。 <% ArrayList syainArrayResult=(ArrayList)session.getAttribute("koushinData"); ArrayList syainKakuninResult=(ArrayList)session.getAttribute("sansyoData"); for( int j=0;syainArrayResult.size()>j;j++){ MasterSyain arrayBean=(MasterSyain)syainArrayResult.get(j); MasterSyain kakuniBean=(MasterSyain)syainKakuninResult.get(j); %> <tr> <% if(kakuniBean.getname().equals(arrayBean.getname())){ %> <td align="center"><%=arrayBean.getname() %></td> <% }else{ %>         <td align="center"><font color="red"><b>          <%=arrayBean.getname() %>         </b></font></td>            <% } if(kakuniBean.getpost().equals(arrayBean.getpost())){ %> <td align="center"><%=arrayBean.getpost() %></td> <% }else{ %> <td align="center"><font color="red"><b> <%=arrayBean.getpost() %> </b></font></td> <% }                           %> </tr> <% } %> %> 質問内容 今回は、JSTLタグを用いて更新確認画面を作成するのですが、どのように記述すればいいのでしょうか。 かなりの時間をかけ、考えたのですがきっかけもつかめない状態になっています。 なにか、ヒントだけでもいただければ、本当に助かります。 よろしくお願いします。 足りない情報がありましたら、教えてください。 すぐに、情報を付け足します。

みんなの回答

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.2

ヒントもなにも だからResultEntryを作れば簡単にできるってば。 カスタムタグを使うのも手ね。 スクリプトレットで記述している処理を 自分で作った独自タグの中でやっちゃえば スクリプトレットは消えるわ。 そうでなければほんとに setしてoutしてって がりがり書き込むことになるわよ。 sessionからArrayListへの転記はsetに置き換えられる。 syainArrayResultのサイズをsetしておく。 foreachで0からそのサイズまでまわす。 syainArrayResultとsyainKakuninResultを別々のforeachで start=endで1つだけ取り出して値をそれぞれset outで出力。 こんな流れ。

palleto
質問者

お礼

回答ありがとうございます。 まず、カスタムタグを自分で作ってみます。 ありがとうございました。

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

foreachとsetを駆使すればできそうだけど あまりお勧めできないかも。 見る限り syainArrayResult と syainKakuninResult は必ず同じサイズなのよね? 私ならResultEntryというオブジェクトを作成し そこにsyainとsyainKakuninの2つのプロパティを持たせ Listをひとつにしてしまうわ。 別に名前はどうでもいいんだけど。 そうすれば普通にforeachだけで回せるようになるわよね。 そうしなくてもforeachとsetを駆使すればできそうだけど 正直やめたほうがいいわよ。 タグ1つ書くとオブジェクトをnewする回数が増えるから 無駄にリソースを消費してしまうわ。 前述したように、オブジェクトの構成を変えるか もしくはスクリプトで我慢するのね。

palleto
質問者

お礼

回答ありがとうございます。 補足し忘れてしまい申し訳ありません。 今回作成するプログラムは、表示部分(JSP)に javaのコードを書き込んではいけないことになっています。 tagだけを使って、上記のプログラムは作成出来るものなのでしょうか。 もし、なにか方法があれば、ヒントをいただいてもよろしいですか。

palleto
質問者

補足

今回作成するプログラムは、JSPにjavaのコードを書き込んではいけないと言うことになっています。 tagだけを用いて、上記の機能をもつプログラムの作成をおこなっています。

関連するQ&A