• 締切済み

現在、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タグを用いて更新確認画面を作成するのですが、どのように記述すればいいのでしょうか。 かなりの時間をかけ、考えたのですがきっかけもつかめない状態になっています。 なにか、ヒントだけでもいただければ、本当に助かります。 よろしくお願いします。 足りない情報がありましたら、教えてください。 すぐに、情報を付け足します。

  • Java
  • 回答数2
  • ありがとう数6

みんなの回答

  • 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

  • VBAでホームページに表示された情報をセルに分割して取得していきたいのですのですがどのように記述したらよろしいでしょうか。

    宜しくお願い致します。 HTMLを長々と記述しておりますが、お許しください。 VBAでホームページに表示された情報をセルに分割して取得していきたいのですのですがどのように記述したらよろしいでしょうか。 以下のようなHTMLがありまして、エクセルのWEBクエリを利用して取得していこうかと思ったのですが、エラーが表示されてしまいうまく取得することができませんでした。 そこで、ブラウザコントロールでしたら、ページが表示された時点で、 すべての情報の取り込みが完了してますので、HTMLをうまく解体すればセルに情報を格納できるかと思ったのですが、どのようにデータを解体・取得すればいいのかが分からない状態ですので、是非御教授いただけたらと思っております。 なお、以下のHTMLは一行目に項目二行目にその項目に基づいた情報が記載されておりまして、今回は二行目までの記述となっておりますが、基本的には複数行にわたるものとなっておりますので、是非その点に関しても踏まえたうえでのアドバイスをいただけたらと思っております。 ご面倒をおかけいたしますが、何卒宜しくお願い致します。 <TABLE width="100%" border="1" cellspacing="1" cellpadding="3"> <TR bgcolor="#006633"> <TD align="center" nowrap><FONT color="#FFFFFF">訂正<BR>取消</FONT></TD> <TD align="center" width="11%"><FONT color="#FFFFFF">口座区分</FONT></TD> <TD align="center"><FONT color="#FFFFFF">銘柄</FONT></TD> <TD align="center" width="13%" nowrap><FONT color="#FFFFFF">取引区分<BR>執行条件</FONT></TD> <TD align="center" width="5%"><FONT color="#FFFFFF">売買</FONT></TD> <TD align="center"><FONT color="#FFFFFF">発注数[株]</FONT></TD> <TD align="center"><FONT color="#FFFFFF">値段[円]</FONT></TD> <TD align="center" width="8%"><FONT color="#FFFFFF">受付日時</FONT></TD> <TD align="center" width="5%"><FONT color="#FFFFFF">有効期間</FONT></TD> <TD align="center" width="5%"><FONT color="#FFFFFF">状態</FONT></TD> <TD align="center"><FONT color="#FFFFFF">約定<BR>数量[株]-単価[円][時間]</FONT></TD> </TR> <TR bgcolor="#CCCCCC"> <TD align="center" valign="middle" bgcolor="#CCCCCC"><BR></TD> <TD align="center" valign="middle">**</TD> <TD align="center" valign="middle"><A href="/servlet/ITS/direct/DirectStkOrder;********************・・・・" onClick="return linkCheck()"><FONT color="#211799"><B>*****</B><BR>*****/FONT></A></TD> <TD align="center" valign="middle">**<BR>-</TD> <TD align="center" valign="middle"><FONT color="#990000"><B>*</B></FONT></TD> <TD align="right" valign="middle">****</TD> <TD align="right" valign="middle">****</TD> <TD align="center" valign="middle">**/**<BR>*******</TD> <TD align="center" valign="middle">当日</TD> <TD align="center" valign="middle"><B><A href="/servlet/ITS/stock/StkOrderDetail**********************・・・・・" onClick="return linkCheck()"><FONT color="#211799">**</FONT></A></B></TD> <TD align="right" valign="middle"><BR></TD> </TR> </TABLE>

  • タグがわかりません

    以下の表記PGMを作ったのですが・・・ 1)クーポン、T E L、、住 所、定休日の場所に該当する欄をカラーにし、「白抜きの文字」にしたい。 2)「その他詳細」【お客様からのご評価】【アンケートモニタ】【通信販売情報】がある横1行のみ他の「2倍の高さ」にしたい 以上をやりたいのですが。お教え下さい。 <TABLE width="100%" border="1" bordercolor="#999999" cellpadding="1" cellspacing="1"> <tr> <td width="25%" align="center"><FONT COLOR=RED><B>クーポン</B></FONT></td> <td width="25%" align="center"><FONT COLOR=RED><B>T E L</B></FONT></td> <td width="25%" align="center"><FONT COLOR=RED><B>住 所</B></FONT></td> <td width="25%" align="center"><FONT COLOR=RED><B>定休日</B></FONT></td> </tr> <tr> <td width="25%" align="center"><FONT COLOR=RED><B>只今、新規30%オフ サービス中!</B></FONT></td> <td width="25%" align="center">********</td> <td width="25%" align="center">**********</td> <td width="25%" align="center">毎週 月曜日</td> </tr> <tr> <td width="25%" align="center"><FONT COLOR=RED><B>その他詳細</B></FONT></td> <td width="25%" align="center"><A HREF="cust.html" target="_blank">【お客様からのご評価】</A></td> <td width="25%" align="center"><A HREF="moni.html" target="_blank">【アンケートモニタ】</A></td> <td width="25%" align="center"><A HREF="tuhan.html" target="_blank">【通信販売情報】</A></td> </tr> </TABLE>

    • ベストアンサー
    • HTML
  • HTMLから正規表現で必要な情報を取得したい

    以下のようなHTMLがあり、PHPで正規表現を使い(A)~(J)の値を取得したいのですが、 どのような正規表現を書けば取得できるか迷っています。 正規表現でなくとも取得できる方法があればご教示ください。 どうかお願いいたします。 ※ちなみにPHP5です。 ---------------------------------------------------------- ~省略~ <tr bgcolor="#ffffff"> <td align="center">(A)<br></td> <td align="center">(B)<br></td> <td align="center">(C)<br></td> <td><a href="http://aaaaa.co.jp">(D)</a><br></td> <td align="right">(E)</td> <td align="right">(F)<br></td> <td align="right">(G)</td> <td align="right">(H)</td> <td align="right">(I)</td> <td align="center" nowrap><font color="#FFFFFF">(J)</font></td> </tr> ~省略~

    • ベストアンサー
    • PHP
  • 携帯サイトでカレンダーをテーブル表示すると1行になってしまう

    携帯サイトでカレンダーをテーブル表示させようと以下のソースを書きましたが、auのエミュレーター(Openwave SDK6.2k)で確認すると、カレンダーがただの縦一行の文字列になって表示されてしまいます。 これはauのエミュレーターがおかしいのでしょうか?、エミュレーターのソース表示をさせてもおかしな解釈をしているわけでもありません。なお、Docomoの実機(903)では問題なく表示されます。 <?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> <html><head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift-JIS" /> <title></title> </head> <body> <font size="2"> <div align="center"> <table cols="7" border="0" width="*"> <tr> <td colspan="7" nowrap="nowrap"> <center> <a href=""><img src="prem.jpg"/></a> 2007年7月 <a href=""><img src="nextm.jpg"/></a> </center> </td> </tr> <tr> <td align="center" width="*" nowrap="nowrap"><font color="red">S</font></td> <td align="center" width="*" nowrap="nowrap">M</td> <td align="center" width="*" nowrap="nowrap">T</td> <td align="center" width="*" nowrap="nowrap">W</td> <td align="center" width="*" nowrap="nowrap">T</td> <td align="center" width="*" nowrap="nowrap">F</td> <td align="center" width="*" nowrap="nowrap"><font color="blue">S</font></td> </tr> <tr> <td align="center" nowrap="nowrap">1</td> <td align="center" nowrap="nowrap">2</td> <td align="center" nowrap="nowrap"><font color="red">3</font></td> <td align="center" nowrap="nowrap"><font color="red">4</font></td> <td align="center" nowrap="nowrap">5</td> <td align="center" nowrap="nowrap">6</td> <td align="center" nowrap="nowrap">7</td> </tr> <!--8~21日まで中略--> <tr> <td align="center" nowrap="nowrap">22</td> <td align="center" nowrap="nowrap">23</td> <td align="center" nowrap="nowrap"><font color="red">24</font></td> <td align="center" nowrap="nowrap">25</td> <td align="center" nowrap="nowrap">26</td> <td align="center" nowrap="nowrap">27</td> <td align="center" nowrap="nowrap">28</td> </tr> <tr> <td align="center" nowrap="nowrap">29</td> <td align="center" nowrap="nowrap">30</td> <td align="center" nowrap="nowrap"><font color="red">31</font></td> <td align="center" nowrap="nowrap"></td> <td align="center" nowrap="nowrap"></td> <td align="center" nowrap="nowrap"></td> <td align="center" nowrap="nowrap"></td> </tr> </table> </div> </font> </body> </html>

    • ベストアンサー
    • HTML
  • tableに対するdiv

    テーブル内の文字色を白にしたい場合、 <style type="text/css"><!-- div.font{color:white;} --></style> <tr> <div class="font"> <td align="center" width="20%">★1</td> <td align="center" width="20%">★2</td> <td align="center" width="20%">★3</td> <td align="center" width="20%">★4</td> <td align="center" width="20%">★5</td> </div> </tr> このように指定しましたが、適用されません。 なぜでしょう?

    • ベストアンサー
    • HTML
  • テーブルタグを削りたい

    よろしくお願いいたします。 私の作っているHPは表が多いのですが、HPビルダーで 作るとタグが多くなり、とても重いページになってしまう ので、タグを削れたらと思っています。 たとえば <TR> <TD bgcolor="#ffffff" align="center"><FONT size="-1" face="Verdana">1</FONT></TD> <TD bgcolor="#ffffff" align="center"><FONT size="-1" face="Verdana">2</FONT></TD> <TD bgcolor="#ffffff" align="center"><FONT size="-1" face="Verdana">3</FONT></TD> <TD bgcolor="#ffffff" align="center"><FONT size="-1" face="Verdana">4</FONT></TD> <TD bgcolor="#ffffff" align="center"><FONT size="-1" face="Verdana">5</FONT></TD> <TD bgcolor="#ffffff"><FONT size="-1" face="Verdana">5</FONT></TD> </TR> こんなカンジに、セル1マスごとにフォントや色が指定 されてしまうのですが、これを1回の記述で済ませる こととかはできますでしょうか?表の中で字を太くしたり 色を変えたりする箇所もあるので、その場合の方法も お教えください。スタイルシートは詳しくないのですが、 参考になるページなどあったら勉強したいと思いますので お願いいたします。

    • ベストアンサー
    • HTML
  • htmlで、特殊な表をつくりたい

    お世話になります。 添付の様な表をhtmlで作成したいのですが、 どのようにすれば作成出来るでしょうか? ※赤色の枠線を本当は、「枠線なし」の状態にしたいのです。 ※一番左の列は、2行目から2つ一組で統合  それ以外の列は、実際には統合しておらず、  2行目から2つ一組であるかのように枠線を表示 可能でしたら、CSSではなく、単純なtableタグで 実現したいと思っております。 何卒宜しくお願い致します。 ------がんばった所までのソース-------- <table width="100%"> <tr> <td bgcolor="#000000">&nbsp;</td> <td align="center">1</td> <td align="center">2</td> <td align="center">3</td> <td align="center">4</td> <td align="center">5</td> <td align="center">6</td> </tr> <tr> <td rowspan="2" align="center">1</td> <td align="center">a</td> <td align="center">b</td> <td align="center">c</td> <td align="center">d</td> <td align="center">e</td> <td align="center">f</td> </tr> <tr> <td align="center">A</td> <td align="center">B</td> <td align="center">C</td> <td align="center">D</td> <td align="center">E</td> <td align="center">F</td> </tr> <tr> <td rowspan="2" align="center">2</td> <td align="center">g</td> <td align="center">h</td> <td align="center">i</td> <td align="center">j</td> <td align="center">k</td> <td align="center">l</td> </tr> <tr> <td align="center">G</td> <td align="center">H</td> <td align="center">I</td> <td align="center">J</td> <td align="center">K</td> <td align="center">L</td> </tr> <tr> <td rowspan="2" align="center">3</td> <td align="center">a</td> <td align="center">b</td> <td align="center">c</td> <td align="center">d</td> <td align="center">e</td> <td align="center">f</td> </tr> <tr> <td align="center">A</td> <td align="center">B</td> <td align="center">C</td> <td align="center">D</td> <td align="center">E</td> <td align="center">F</td> </tr> <tr> <td rowspan="2" align="center">4</td> <td align="center">g</td> <td align="center">h</td> <td align="center">i</td> <td align="center">j</td> <td align="center">k</td> <td align="center">l</td> </tr> <tr> <td align="center">G</td> <td align="center">H</td> <td align="center">I</td> <td align="center">J</td> <td align="center">K</td> <td align="center">L</td> </tr> <tr> <td rowspan="2" align="center">5</td> <td align="center">a</td> <td align="center">b</td> <td align="center">c</td> <td align="center">d</td> <td align="center">e</td> <td align="center">f</td> </tr> <tr> <td align="center">A</td> <td align="center">B</td> <td align="center">C</td> <td align="center">D</td> <td align="center">E</td> <td align="center">F</td> </tr> <tr> <td rowspan="2" align="center">6</td> <td align="center">g</td> <td align="center">h</td> <td align="center">i</td> <td align="center">j</td> <td align="center">k</td> <td align="center">l</td> </tr> <tr> <td align="center">G</td> <td align="center">H</td> <td align="center">I</td> <td align="center">J</td> <td align="center">K</td> <td align="center">L</td> </tr> </table>

    • ベストアンサー
    • HTML
  • ページング処理について

    http://okwave.jp/qa/q6410907.html 以前↑の内容を投稿したものです。 解決に至らなかった為、再投稿させて頂きます。 ArrayListに格納する方法を使って一覧表示に ページング処理を加えたいのですが、その方法がよく分からず頭を抱えています。 期待する結果は以下の通りです。 (1)DBの内容を10件ごとに表示し、「Back」「Next」のリンクを使って画面を移動する。 (2)次(もしくは前)に表示する10件がない場合は上記のリンクを非表示としたい。 下記はソースの一部です。 **Srvlet** if(button != null && button.equals("一覧")){ target = "/list.jsp"; CList cList = new CList(); List list = cList.list(); HttpSession. session=request.getSession(); session.setAttribute("SELECT", list); } **JSP** //省略// <BODY> <BR> <% ArrayList array = (ArrayList)session.getAttribute("SELECT"); for(int i=0 ; i<array.size() ; i++){ Bean bean = (Bean)array.get(i); %> <TR> <TD><INPUT type="radio" name="radio" value="<%= (int)bean.getId() %>" <%= bean == array.get(0) ? "checked" : ""%>></TD> <TD><%= (int)bean.getId() %></TD> <TD><%= (String)bean.getName() %></TD> <TD><%= (String)bean.getTel() %></TD> </TR> <% if(i==4){ break;} %> <%} %> </TABLE> </TD> </TR> </TABLE> </FORM> </DIV> <a href="list.jsp?list=1"> <font color="#0000ff"><b>Back</b></font></a> <a href="list.jsp?list=2"> <font color="#0000ff"><b>Next</b></font></a> 変数iをbreakすることで5件までの表示に成功しました。 情報を記憶出来ているとは思うのですが NEXT・BACKに飛ぶと同じ情報が保持されたままとなっています。 何か前後の情報を格納しないと期待する処理は行われないと思うのですが、 その部分でまた詰まってしまいました・・・。 アドバイス等御座いましたらお願いいたします。

    • ベストアンサー
    • Java
  • タグに詳しい方、助けて下さい!

    以下のようにタグを打って携帯サイト作ろうとしているのですが、携帯から確認すると途中からテーブルが左側に寄って見えるようになりました。(PCからだとちゃんと真ん中になってます) タグを引っ張ってきただけで知識はなく、どこがどうおかしいのかわかりません。 わかる人いたら教えて下さい…お願いします! <center><Table align="center" Border="0" Width="200" Valign="middle"> <Tr> <Td ColSpan="2" bgcolor="#FF69B4" Align="Center"><B><Font Color="#ffff33">★</Font><Font Color="#FFffff">更新・12/**</Font><Font Color="#ffff33">★</Font></B><Td></Tr><Tr><Td Width="600">※トップイラスト挿入※</Td><Td Width="20"><Font Color="#FF69B4"><Font Color="#ffff33">★</Font><br>*↓コンテンツ5行くらい<br><Font Color="#ffff33">★</Font></Font></Tr> <Tr><Td ColSpan="2" bgcolor="#FF69B4"><Marquee><Font Color="#ffffff">12/** ****</Font></Marquee></Td></Tr></Table></center>

  • JSPでの文字列編集出力

    JSPで文字列を読み込み、一部編集してデータベースに出力させようとしています。現在、文字列の編集の部分でうまくいかず困っています。 <tr> <td align="center"> </td> <td align="center">C 1</td> <td align="center">C 2</td> </tr> <tr> <td><font color="#FFFFFF">_</font>コスト</td> <td align="right"><font color="#FFFFFF">_</font>\ 200000<font color="#FFFFFF">_</font></td> <td align="right"><font color="#FFFFFF">_</font>\ 300000<font color="#FFFFFF">_</font></td> </tr> の内容を読み込み、タグを取り除き<tr>ごとに次の行として ,C 1,C 2 _,コスト,_,\200000,_,_,\300000,_ のように出力したいのです。 現在、String型で"<td"や">"と指定し、substring()やindexOf()を使いやっているのですが、 <td align="right"><font color="#FFFFFF">_</font>\ 300000<font color="#FFFFFF">_</font></td> のような、同じ行に2度出てくると初めしか文字列を取らなかったりしてうまくいきません。 違う方法や、アドバイスなどないでしょうか?また、XMLのDOMを使った方がいいのでしょうか?(XMLは全くわからないのですが、DOMを使えばもっと簡単にできるのでしょうか?) よろしくお願いします。

    • ベストアンサー
    • Java