• 締切済み

jsp 動的テーブルについて

licht_gkkの回答

回答No.1

スクリプトレットでfor文回して出力するといいかと思います。 <table> <% for (Map<?, ?> mp : listMap) { %> <tr><td><% mp.get("XXX") %></td></tr> <% } %> </table> こんな感じでしょうか? うろ覚えで書いたので構文間違えてるかもしれませんが、 感じだけ伝えられればという事でお願いします。

関連するQ&A

  • ブラウザ上でデータベースのテーブル表示について

    こんにちは。研修の問題についてなのですが・・・ postgresql+jsp+servlet でお聞きしたい事があります。 環境は(ちょっとわからないので)最新のものでお願いします。 まず、 servletからDBに接続、SQL文でテーブル内容全てを取得。 SQL文を実行してResultSetをこのままrequestにいれてjspへ送る。 jspでrequestを取得、next()、getIntなどでResultSetの中身を取得。 <%= %>でブラウザに表示する。 という形なのですが、テーブルの中身の最後の行 しか表示されないのです。 テーブル内は他にもいくらか行があります。 これはなぜなのでしょうか? ResultSetをそのまま送るとこの結果になるのでしょうか? servletでテーブル内を全て取得してから[(rs.next())、get~を使って。] jspに送ったほうがいいのでしょうか? またその場合は取得した値をそのままrequestに入れて送るものなのでしょうか? 聞いてばかりでお恥ずかしいですが ちょっと行きずまってます。宜しくお願いいたします。

    • ベストアンサー
    • Java
  • JSP+Servletでのページングの常識

    JSP+Servletでのページングの実装方法について伺いたいと思い、 質問いたしました。 現在JSP+ServletでWebページを製作しておりますが、 ページングを行うデータの取得方法で悩んでおります。 データをDBから取得する際は、下記1と2のどちらが標準的な実装方法なのでしょうか??? 条件としては、レコード件数2000件のテーブルからデータを取得し、1ページ10件ずつ表示します。 また、APサーバとDBサーバの通信がボトルネックになることはない場合でお願いします 1.全件を最初に取得しておいて、ページ切り替えの際は、DB接続なしで表示する 2.ページに表示する件数分のみDBから取得し、ページ切り替えの際は、毎回必要な件数分取得する 1の方法ですと、常に全件をキャッシュしていることになり、パフォーマンスが心配です。 2の方法ですと、ページ制御が煩雑になりそうな気がします。

    • ベストアンサー
    • Java
  • 取得したデータをJSPに渡したい

    はじめまして。現在以下の処理をするwebアプリを作成しています。 html(検索条件の入力)    ↓ servlet(データベース接続・検索)    ↓ jsp(検索結果の表示) 現在は検索結果(ResultSet)をそのままrequestにセットしjspに渡しているのですが,この方法でいいのでしょうか? また,一般的な方法が分かれば教えていただけると幸いです。 質問内容に不備があれば補足させていただきます。よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPでデータ一覧表示

    JSP+Bean+Servletで作っています。 BeanでDB接続、データを取得して、 それをJSPで一覧表示として表示させたいのですが、 どのタグを使えばいいのでしょうか。 また、その場合、タグは、Servletとか Beanでかく必要がありますか。 たとえば、今、DBに30個データがある場合、 JSPでそれをTABLEタグを使って 一覧表示させますよね。 でもJSP側では、<TR><TD></TD></TR>の データをいくつセットできるか、っていう 数がきまってますよね。てことは、 ServletとかBeanでHTMLのタグをうって 表示させないといけないんですか??? やりたいことは、BeanとかServletで タグは書かずに、JSPでパラメータだけ 受け取って、その数だけデータを 表示させたいんです。 (JSPだけでタグをかいて、パラメータで わたってきたデータを表示させたい。) そういうことってできますか?? ・・・説明がうまく出来てないかとは思うのですが よろしくお願いします。

    • ベストアンサー
    • Java
  • JSP + ラジオボタン

    JSP+Servlet+Beanで作ってます。 JBuilder5を使ってます。 JSPはラジオボタン、テキスト、ボタン等があります。 <INPUT TYPE = "radio" NAME = "r1" VALUE = "ins">A <INPUT TYPE = "radio" NAME = "r1" VALUE = "upd">B <INPUT TYPE = "radio" NAME = "r1" VALUE = "del">C としています。 たとえば、Bを選択時、ボタンクリックで Servletにリクエストを送信しますが、 Servletから再びJSPを呼び出し、画面を 表示するとき、ラジオボタンはBを選択 させたいのですが、どうしたらいいですか? FormタグのCHECKEDというオプションを どのように使えばいいのか教えていただきたいのですが。 テキストには、Beanでsetメソッド、 JSPでは、<jsp:getProperty・・・>を使って セットできているんですが、ラジオボタンも 同様ですか? @@@・・・JSPのタグを勉強しないといけないです。 @@@勉強不足です。

    • ベストアンサー
    • Java
  • JSPからServletに、テーブルに格納された値を渡したい

    JSPに日付、資産名、社員番号、社員名、備考とボタンを各行に配置したテーブルがあります。 ここから資産名をServletに渡して、それを基に別のJSPに別のテーブルを表示させるコードを考えています。 現状のコードは以下(抜き出し) 【JSP】 <table> <tr> <td>状態</td> <td>社員番号</td> <td>社員名</td> <td>機種</td> <td>備考</td> <td></td> </tr> <% List list = (List)request.getAttribute("list"); int Cnt; for(Cnt=0; Cnt<list.size(); Cnt++){ Account account = (Account)list.get(Cnt); %> <tr> <!-- Beansに格納したSQLの実行結果を呼び出す --> <td><%=account.getLendingReturnFlag() %></td> <td><%=account.getEmployeeCode() %></td> <td><%=account.getEmployeeName() %></td> <td><%=account.getMaker() %> &nbsp; <%=account.getMachineType() %></td> <td><%=account.getRemarks() %></td> <td> <!-- 資産NoをServletに渡すために、hiddenに"No_カウンタ"という名前をつけて格納 --> <input type="hidden" name="No_" + "<%=Cnt%>" value="<%=account.getAssetNo()%>"> <!-- 資産Noと同じ行のボタンを判別するため、"id_カウンタ"という名前をつけて資産Noを格納 --> <!-- 現状ではボタンに資産Noが表示されていますが、これは後から「資産詳細」に直す予定 --> <input id="<%=Cnt%>" name="id_" + "<%=Cnt%>" type="submit" value="<%=account.getAssetNo()%>"> </td> </tr> <% } %> </table> <!-- 現在表示している一覧が何行あるかを"Cnt_sum"という名前をつけて格納 --> <input type="hidden" name="Cnt_sum" value="<%=Cnt%>"> </form> <FORM> <input type="button" value="戻る" onClick="history.back()"></div> </FORM> 【Servlet】 package history; import java.io.*; import java.sql.*; import javax.servlet.*; import javax.servlet.http.*; import db.*; import java.util.*; public class HistoryDetailServ extends HttpServlet { private static final long serialVersionUID = 444896L; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {  //エンコードを指定 response.setContentType("text/html; charset=Windows-31J"); request.setCharacterEncoding("Windows-31J"); //前画面でテーブルが何行だったかを呼び出す int Cnt_sum = Integer.parseInt(request.getParameter("Cnt_sum"));  //上記のテストコード System.out.println(Cnt_sum); String pc_id = ""; String No = ""; String id = "";  //テーブルの行数分、繰り返しを行うfor文 for(int Cnt=1; Cnt<=Cnt_sum; Cnt++){  //"No_カウンタ"という名前で格納されている値を呼び出す(資産No) No = request.getParameter("No_" + Cnt);  for(int Cnt_2=1; Cnt_2<=Cnt_sum; Cnt_2++){   //"id_カウンタ"という名前で格納されている値を呼び出す(資産No) id = request.getParameter("id_" + Cnt_2);   //上記のテストコード System.out.println(No); System.out.println(id);   //上記2つの値が等しいときに処理を行うif文 if(No==id){  //SQLの取得に使用する変数に、Noを格納 pc_id = No;  //上記のテストコード System.out.println(pc_id); }  } } //DB接続 ServletContext sc = getServletContext(); DbControl db_Con = new DbControl(sc); try{ となっています。 テスト用のコードの実行結果(コンソールに出力しました)を見ると、テーブルが何行だったかを示すCnt_sumは正しくServletに渡っているようですが、残る3つはnullが返ってきてしまいました。 for文のあたりからが怪しいのは判るのですが、値を取得するコードに間違いがあるのか、for文そのものに問題があるのか・・・など考えたまま数時間経っても解決しなかったので質問させていただきます。

    • ベストアンサー
    • Java
  • 【JSPのデータ型の変換エラー??】

    こんばんは! 現在、SQL Serverのテーブルに接続してJSPのテキストボックスをキーに検索結果を次のJSPに表示させるWEBを作成しています。 そこで検索結果を表示させるJSPでnvercharの値'AHFKS23847'をデータ型intに変換できませんでした。と表示されます。 ネットや書籍で調べましたが全くでておらず困っております。 ご教授下さい! String param = request.getParameter("param"); "SELECT * FROM T_Table where Number_Co="+param); として記述しております。 Number_CoはSQL Serverではテキスト型と設定されております。 宜しくお願いいたします!

    • ベストアンサー
    • Java
  • ACCESS97で テーブルの更新について

    ACCESS97で 相談したいことがあります。 定期的にあるテーブルを作成する時、 (1)テーブル作成クエリーを毎回 実施する方法と (2)元々テーブルを作っておいて  毎回、全件削除クエリー、全件追加クエリーを実行する 方法などがあります。  得られる結果は同じです。 この時、毎回テーブル作成クエリーを実施すると ムダにアクセス自体のファイルが大きくなったり データベースが壊れることが多い と聞いたので (2)の方にしたのですが、処理時間が(1)よりも掛かってしまいます。 そこで、上記(1),(2)に関する方法はどちらの方がお勧めでしょうか? ※ 件数は100000件 くらいあります。

  • ORM java

    ORマッパーのreadMapListの要素 ServletのSQL文で出した結果をreadMapListをリクエストしてjsp側に送りjsp側で結果を全件表示させたいです。 Servlet try{ conn = DBManager.getConnection(); Persist persist = new Persist(conn); List<Map<String, Object>> strages = persist.readMapList("select * from t_storage_order,m_item,m_customer where t_storage_order.item_id = m_item.item_id AND t_storage_order.customer_id = m_customer.customer_id order by storage_order_id"); request.setAttribute("strages",strages); } finally { DBManager.close(conn); } return "/WEB-INF/view/orderStrageLists.jsp"; となっておりjspではどのようにリクエストを取得し全件表示して綺麗に並べる事ができるのでしょうか jspでList<String> strage = (List<String>)request.getAttribute("strages")と取得し 1つのデータは[{storage_order_id=59, customer_id=1, item_id=3, amount=999, store_id=1, order_state=10, order_datetime=2014-07-11, storage_limit_date=2014-07-18, storage_datetime=2014-07-11 item_name=本AAAAAA, jan_code=11111...のようになっていました これのitem_nameなど各項目を出力するにはどうしたらいいのでしょうか

    • ベストアンサー
    • Java
  • JSPからサーブレットを呼び出す際に404エラー

    現在、tomcatとeclipseでサーブレット/JSPの勉強をしています。 参考書に載っている、jspの入力画面で入力した値をサーブレットで受け取り、そのまま表示させるようなサンプルを作成しています。 JSPの入力画面は表示できるのですが、値を入力してサーブレットに移動する際、404エラーが出てしまいます。 ■eclipseのパッケージエクスプローラー basic |-WEB=INF/src |..|input |...|EchoServlet.java |-WEB-INF |..|web.xml |.|echo.jsp (WEB-INF直下に作成) ■echo.jsp内のサーブレットのパスに関する記述 <FORM ACTION="/servlet/EchoServlet"> ■web.xmlの記述 <servlet> <servlet-name>EchoServlet</servlet-name> <servlet-class>input.EchoServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>EchoServlet</servlet-name> <url-pattern>/servlet/EchoServlet</url-pattern> </servlet-mapping> ■EchoServlet.javaの記述 package input; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class EchoServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String msg = request.getParameter("message"); response.setContentType("text/plain; charset=Windows-31J"); PrintWriter out = response.getWriter(); out.println("message=" + msg); } } お気づきの点がございましたらご査収の程よろしくお願いいたします。