• 締切済み

JAVA・JSP間のデータの受け渡し

質問が下手なので文章にせず箇条書きにして質問させてもらいます。 完成させたいもの:勤怠登録 環境:  MySQL Tomcat WindowsXP ツール  Exlipse 大まかな流れ---------------------------------------------- ・JSP(HTMLでも可)のログイン画面  (1)、「Id」と「Pass」の入力が行える ↓ Id・Passを渡す ・Javaのログイン認証クラス  (1)、取得した「Id」「Pass」でDB内を検索、結果を返す  (2)、(1)で登録がある場合はDB内の該当データ(勤怠情報)を取得 ↓ (2)で取得したデータを渡す ・JSP勤怠情報閲覧画面 ---------------------------------------------------------- ・現在、悩んでいる点  Javaのログイン認証クラスの(2)で取得した値を  勤怠登録閲覧画面(JSP)に渡してやりたいのですが  方法がわかりません。  JSP→JAVA は「post」  JAVA→JSP が判らないのです 取得した勤怠データは構造体(C言語的な表現ですが)に入いれた後、 ArrayListで作った変数に追加していきました。 補足:  勤怠データ構造体(クラス)の内容{    date 日付    time 出勤時間    time 退勤時間  } 以上です まだ初めて3ヶ月ほどの初心者ゆえ 説明不足な点があると思いますがお教え願えないでしょうか。

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

  • auty
  • ベストアンサー率58% (284/486)
回答No.1

>>>  JAVA→JSP が判らないのです >>>  取得した勤怠データは構造体(C言語的な表現ですが)に入いれた後、 >>>  ArrayListで作った変数に追加していきました。 今回は、フォーワドにより「リクエスト属性」としてjspにデータを渡すのが良いと思います。 サーブレットで、例えば"rec"という名前で、リクエスト属性に保存し、forward()します。 ArrayList objAry; objAryへ1レコード分追加する。 request.setAttribute("rec",objAry); getServletContext().getRequestDispatcher("dispRec.jsp").forward(request,response); dispRec.jsp側で、 <%@ page contentType="text/html;charset=Windows-31J" %> <jsp:useBean id="rec" class="java.util.ArrayList" scope="request" /> と宣言し、ひとり分なら rec.get(0) で取得できるので、キャストして利用してみてください。

vecCoord
質問者

お礼

回答、有難う御座います。 一度、意見を参考に進めてみます。

関連するQ&A

  • ServletからJSPへのデータの受け渡し

    サーブレットにてDBから取得したデータをJSP側に受け渡しをしたいのですが、いろいろと本を読んだり、ネットで情報を調べたりしているのですが、配列データを受け渡す方法が良くわかりません。 どなたか、ココに説明されているHPがある!や、こうすればよいなどのアドバイスをいただければ幸いです。 自分で調べてみたところ以下のところまでは作ったのですが、この後がわからなくなってしまいました。 Servlet側 Enumeration enu_dat = vector.elements(); request.setAttribute("enu_dat", enu_dat); JSP側 session = request.getSession(true); Enumeration data_dat = (Enumeration request.getAttribute("enu_dat"); JSP側で受け取ったとき data_datは「null」 enu_datは「java.util.Vector$1@a2bd15」 のようになっています。

    • ベストアンサー
    • Java
  • Java Struts MVCモデル 正しい書き方

    Java Struts1.3.10 皆でとあるシステムを作ることになったのですが、 JSP・ActionForm・Actionそれぞれの関係の在り方について悩んでいます。 ログイン機能を例とします。 1機能、1Form、1Actionとした場合は: 1.Login.jspでIDとPASSを入力。 2.LoginResultForm.javaにIDとPASSを格納。 3.LoginResultAction.javaでDBチェック(IDとPASSの存在・権限) 4.Result.jspへ遷移。ID・PASS・権限を表示する 使用するファイルは4つとなります。 1JSP、1Form1、Actionとした場合は: 1.Login.jspでIDとPASSを入力。 2.LoginForm.javaにIDとPASSを格納。 3.LoginAction.javaでDBチェック(IDとPASSの存在) 4.ResultForm.javaにIDとPASSを渡す(Sessionなど) 5.ResultAction.javaでDBから権限を取得、ResultFormに格納 6.Result.jspへ遷移。ID・PASS・権限を表示する 使用するファイルは6つとなります。 現在意見が三つありまして、 1.違うForm同士にデータのやり取りが発生するようであれば(1機能とし)、同じフォームにするべきではないのか? 2.Fromのメンバの数が少ないうちは良いが、今後数が増えると可読性が悪くなるから分けるべきではないのか? 3.フォームは同じでないとまずいが、ActionはJSPごとに分けるべき というものです。 1.ではログイン者情報をセッションに保持することは許可しています。(一部例外を認めている) これらはいずれもStrutsフレームワークの範疇から逸脱している、あるいはMVCモデルに反している、そもそも非効率的ということはないのでしょうか? つまりあくまで実装の仕方の問題でしかない、という結論でよろしいでしょうか?

    • ベストアンサー
    • Java
  • jsp→jsp間の受け渡し

    現在ある予約システムを作っていて、iteratorを使ってDBの情報をこのような画面で表示させています。 「予約一覧」画面   -----------------  ■| 時間1 | 変数A |   |----------------   | 人数1 | 変数B |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   -----------------  ■| 時間2 | 変数C |   |----------------   | 人数2 | 変数D |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 以下は、「予約一覧」JSPのほんの一部です。 <s:iteratorvalue="#session.YOYAKU"status="rowstatus"> 利用時間<s:property value="Time"/><br> 利用人数<s:property value="Customer"/><br> </s:iterator> ■は予約取消のsubmitボタンです。 これを押したらその内容を保持して取消画面に遷移させたいのですが・・・ どちらの■を押しても、遷移すると一番新しい予約情報(この場合時間1の方)しか表示できません。 こちらは遷移先の「取消」画面のJSPです 利用時間<s:property value="#session.Time"/><br> 利用人数<s:property value="#session.Customer"/><br> ■ごとに取得する内容を変更するにはどうすればよいのでしょうか? なにとぞおねがいいたします。

  • jsp,servlet,beanの流れについて

    初歩の初歩の質問ですが、参考書等読んでいて混乱してしまっています。宜しくお願いします。 a.jsp(入力画面) a_servlet.java a_bean.java(setのみ) b.jsp(表示画面) b_servlet.java b_bean.java(get,setのみ) というファイルがある時のプログラムの流れは、 (1)a.jsp・・・画面を表示する。データを入力する。登録ボタンを押下する。 (2)a_servlet.java・・・(1)で登録ボタンを押下されたら、a.jspのデータを取得。a_bean.javaへ設定する。b.jspへ飛ぶ。 (3)a_bean.java・・・(2)によりデータが設定されている。 (4)b_servlet.java・・・a_bean.javaのデータを取得し、b_bean.javaに設定する。 (5)b_bean.java・・・(4)によりデータが設定されている。 (6)b.jsp・・・表示データをb_bean.javaより取得後、画面を表示する。削除ボタンを押下する。 (7)b_servlet.java・・・(6)で削除ボタンが押下されたらb.jspのデータを取得し、b_bean.javaへ設定する。 特にbファイルの処理順序で混乱しています。 上記のような流れで考え方は合っているでしょうか。 少々分かりずらいかもしれませんが、間違っていたら小学生でも分かるように教えてください。

    • ベストアンサー
    • Java
  • JAVA・Tomcat・MySQL

    課題で「質問タイトル」の言語を使い 勤怠登録票を作ってくるように言われたのですが 手順がまったく判りません一応調べてみたのですが 以下の様な認識でいいのでしょうか? 例)ログイン画面の場合 1、HTMLで画面の表示 2、HTMLで入力されたデータ(値)をjavaに引き渡す 3、javaの処理でMySQLを呼び出しDB内を検索 4、一致するものがあればログイン成功 5、成功した場合は画面を勤怠画面へ と言う考え方なのですが Tomcatを使う場面が良く判りません 調べてみると動的ページと出てくるのですが・・・・・さっぱりです 私の認識に間違いがあれば訂正と Tomcatについての判りやすい説明をできればお願いします><

    • ベストアンサー
    • MySQL
  • JSPで、sessionのタイムアウトを制御したいのですが・・・

    じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • JSPで、sessionのタイムアウトを制御したいのですが・・・

    じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • JSPにおける引数の受け渡し

    こんにちは. 今JSPのプログラムを作っているのですが,引数を送る場面で困っています. test2.jspにおいて,タイプはちゃんと表示されているのですが,IDとパスワードはnullになっています. もし宜しければ,どこが間違っているのかお教えいただけないでしょうか?よろしくお願いします. 【test.jsp】 ~省略~ <%String type="aaa";%> <?xml version="1.0" encoding="Shift-JIS" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> ~省略~ </head> <body> <div class="abc"> <h1>タイトル</h1> <form action="test2.jsp" method="post"> <p> <table> <tr> <td>ID</td> <td><input type="text" name="user_id" /></td> </tr> <tr> <td>パスワード</td> <td><input type="password" name="user_pass" /></td> </tr> </table> <br /> <input type="button" value="ログイン" onclick="test('test2.jsp?type=<%=type%>')" /> </p> </form> </div> <script type="text/javascript" src="test.js"></script> </body> </html> 【test2.jsp】 ~省略~ <% String type=request.getParameter("type"); String user_id=request.getParameter("user_id"); String user_pass=request.getParameter("user_pass"); %> ~省略~ <h1>タイトル2</h1> <p> <table> <tr> <td>ID</td> <td><%=user_id%></td> </tr> <tr> <td>パスワード</td> <td><%=user_pass%></td> </tr> <tr> <td>タイプ</td> <td><%=type%></td> </tr> </table> </p>

    • ベストアンサー
    • HTML
  • JAVA と JSPの ArrayListのやりとりについて。

    JAVAでDBから取得したデータを request.setAttribute でセットしています。 そのListをJSPで取得し、コンボボックスに表示させたいのですが、取得方法がわかりません。 アドバイスお願いします。

  • 勤怠管理 コアタイムのデータ管理 Java & PostgreSQL

    Java+PostgreSQLを使い、勤怠管理システムを作成中です。 システムではコアタイムを複数設定でき、環境にあわせた勤怠管理が できるようにしたいです。 従業員の勤怠集計はコアタイムを基準に、早出、基本時間、遅刻、残業を 算出できるようにしたいです。 現在、DBスキーマとテーブルに対応するJavaエンティティの定義を進めて いますが、型をどのようにすれば集計が楽になるかわからず困っています。 悩んでいるのが、日付をまたいだコアタイムを設定するとき、PostgreSQLの time型では23:59を超える時刻を扱えないため、 開始 > 終了 という データを登録する必要があり、計算が複雑になることです。 考えているものとしては、2つあります。 1) PostgreSQLの型:time Javaの型:java.sql.Time 2) PostgreSQLの型:integer(分であらわす。9:00であれば、540) Javaの型:Integer(分であらわす。9:00であれば、540) 1)は前述での計算が複雑になる問題があり、2)は、やり方がスマートでは ないような気がします。 どのような定義にすれば妥当でしょうか。 アドバイスや過去の事例等あれば、ご教授下さい。