• ベストアンサー

ボタンクリック-JSP判断

kuro_73の回答

  • kuro_73
  • ベストアンサー率28% (33/117)
回答No.4

>それは、ServlvetのdoPostメソッドで最後にJSPを呼び出す処理 >があるからです。そのへんの処理を作りたいのですが。。。 >Servletで次のHTMLに移動することはできますか? やりたいことが大分分かってきました。 二回目の返答を見る前に書いてしまったので、ちょっと的外れなことを書いてしまいました。すみません。 Servletで、別のHTMLを表示するのは可能ですよ。 場合わけの部分はお任せするとして、 JSPをコールするやり方は、お使いのサーブレットによって異なると思いますが、 一般的な方法を二つ提案するとすると (1)response.sendRedirect("/html/next.html"); ちなみにsendRedirectはサーブレットに対してもJSPに対しても可能です。 (2)RequestDispatcher dispatch = this.getServletContext().getNamedDispatcher("フォワードする先のサーブレット"); if (dispatch == null)throw new ServletException("サーブレット[" + forwardServlet + "]が定義されていません"); dispatch.forward(request.getRequest(), response); こんなんでいかがでしょうか。

noname#2205
質問者

補足

kuro_73さん、回答有り難うございます。 >Servletで、別のHTMLを表示するのは可能ですよ。 >場合わけの部分はお任せするとして、 >JSPをコールするやり方は、お使いの >サーブレットによって異なると思いますが、 今、私がServletのdoPostメソッド内でやっている 処理は (1)//Bean(wk_Bean)のインスタンス作成 wk = new wk_Bean(); (2)//各パラメータ値取得 kcd = request.getParameter("cd"); ・ ・ ・ (こんな感じでそれぞれ取得) (3)//wk_Bean処理実行する(DB接続等) wk.Work(rValue,kcd,knm,btn,flg_fst); (4)//BeanをJSPに渡すためにHttpServletRequestオブジェクトにセット request.setAttribute("wk",wk) ; (5)//ViewであるJSPを呼び出す RequestDispatcher rDispatcher = request.getRequestDispatcher("/sample_JSP.jsp"); rDispatcher.forward(request,response); こんな感じなんですが。。。 私の理解としては、(5)でJSPを呼びだしてるので この部分で他のHTMLを呼べないかなと思ったのです。 うーん。Beanがテキスト入力の有無を判断した後、 このServletでHTMLかJSPをよぶか の選択をしたかったのですが、kuro_73さんの書かれた (2)RequestDispatcher dispatch = this.getServletContext().getNamedDispatcher("フォワードする先のサーブレット"); if (dispatch == null)throw new ServletException("サーブレット[" + forwardServlet + "]が定義されていません"); dispatch.forward(request.getRequest(), response); というプログラムの意味がよく理解できてないのですが これは、。。。フォワードするServletだけを 書いておいたらいいのですか? よろしくお願いします。

関連するQ&A

  • 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で、終了ボタンをクリックしたときに、 ブラウザを閉じる、といった処理は <INPUT TYPE = "submit" NAME="EXT" VALUE ="終了" onclick ="window.close();"> などでできるとあったのですが、 終了ボタンで、ページ(JSPではなく、 HTML)を移動する場合、onclick=以下に HTMLのアドレスを書いたらいいのでしょうか? やってはみたのですが、うまくいきませんでした。 うまくいかないというのは、 そのままServletにリクエストがわたるようで、 表示ページから何も移動しないということです。 また、<a href = "・・・></a>という リンクのタグもやってみましたが、 ランタイムエラーがでてしまいました。 何か外しているようでしたら、教えていただきたい のですが。。。。

    • ベストアンサー
    • Java
  • 携帯 JAVA JSP 画面遷移

    携帯のWebアプリを作成しており、ボタンごとに画面遷移させる方法を考えています。 以下はPC用に作成したJSP <script Language="JavaScript"> <!-- function inOut(flg){ if(flg){ lert("あ"); location.href='top.jsp'; }else{ alert("い"); location.href='top2.jsp'; } } // --> </script> <html> <head> <title>テスト</title> </head> <body> <form method="POST" action="top3.jsp"> <input type="button" name="in" onClick="inOut(true);" value="あ" /> <input type="button" name="out" onClick="inOut(false);" value="い" /> <input type="submit" name="back" value="う" /> </form> </html> 現状の問題点は2点あり、 1.携帯はJavaScriptが使用できない 2.<input type="button"~ とするとテキストボックスのような見栄え・機能になってしまう。 携帯Webアプリの場合、ボタンごとの画面遷移はどのように行えばよいのでしょうか?

  • jsp から servlet に

    パラメータをJSPからServlet に渡す所で、どうしても、null になってしまします‥。 主要な部分だけ書きます。 --jsp-- <jsp:useBean id="beanId" class="Bean" scope="request" /> <form method="POST" action="servlet"> <input type="submit" value="送信"> <input type="text" size="10" name="name"> --servlet-- import Bean; Bean bean = (Bean)request.getAttribute( "beanId" ); // ↑ここが、nullになってしまう。 --Bean-- public String getName() { return name; } public void setName( String name ) { this.name = name; } 考え方が違ってるかも知れないのですが‥。 よろしくお願いします。

    • ベストアンサー
    • Java
  • jspでファイルを読み込む

    jspでajaxを使ってファイルを読み込む処理がうまくいきません。 直接jspのページを見る場合、jspのアドレスが http://localhost:8080/xxx/sample.jsp となり処理もうまくいくのですが、javaのクラスファイル→sample.jspのようにサーブレットから値を受け取る場合にアドレスが http://localhost:8080/xxx/servlet/クラスファイル名?変数名=値 となり、この場合ファイルを読み込む処理がうまくいきません。 【ソースの一部】 function loadText(filename){ new Ajax.Updater( { success: "disp"}, filename, { method: 'get', onFailure: displayError} ); } <input type="button" value="ファイル読み込み" onClick="loadText('readfile.txt')"> <div id="disp"></div> readfile.txtのパスの書き方が悪いのかと思いいろいろ試しましたができませんでした。 アドバイスお願いします。

    • ベストアンサー
    • Java
  • 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
  • HPボタンの長さが異なる。

    下のボタンが マックの「IE4.5」「IE5.0」「ネスケ4.7」だとちゃんと奇麗に中央に表示されますが、 Windows「IE4.5」「IE5.0」はボタンの長さが異なり ガタガタになります。 windowsでも奇麗に並べるにはどうしたらいいのでしょうか? よろしくご指導お願いいたします。 テストでアップしてあるURLですのでご確認してください。 http://watn.jp/test/ <HTML> <HEAD> <TITLE>++++</TITLE> </HEAD> <!------------------- 中身-------------------> <center> 下のボタンがマックの「IE4.5」「IE5.0」「ネスケ4.7」だと<br> ちゃんと中央に表示されますが、Windows「IE4.5」「IE5.0」は<br> ボタンの長さが異なりガタガタになります。 <FORM> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='kituke.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='sadou.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇◇ " onClick="window.location.href='buyou.html'"><br> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='ivent.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='tenjikai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇       " onClick="window.location.href='butai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇      " onClick="window.location.href='honten.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇◇     " onClick="window.location.href='yono.html'"><br> </FORM> </center> </BODY> </HTML>

  • ボタンをクリックして、リンクを開きたい

    ボタンをクリックして、リンクを開きたいのですが <input type="button" value="yahooを表示する" onClick="location=http://www.yahoo.co.jp/"> をしても何も起りません。 出来れば、新しいブラウザで開きたくて、 <A href="http://www.yahoo.co.jp/" target="HOGE">yahooを表示する</a> と同じように、ボタンをクリックして開きたいので、ご教授お願いします。

    • ベストアンサー
    • HTML
  • ボタンの長さを変えたい(至急)

    <INPUT TYPE=BUTTON VALUE="最新100回グラフ" onClick="location.href='../grf/100.htm'"> <INPUT TYPE=BUTTON VALUE="最新50回グラフ" onClick="location.href='../grf/50.htm'"> このようなボタンの長さを揃えたいです。 スペースで調節するしかないのでしょうか?

    • ベストアンサー
    • HTML
  • JSPで使用不可

    JSPで表示しているテキストやボタンを (FORM INPUT TYPE のテキストもしくは Submitボタン) 使用不可にすることは可能でしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Java