- ベストアンサー
ハイパーリンクでサーブレットを起動させたい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
単純に、ハイパーリンクの先にServletを指定して下さい。 Servletは、doGetメソッドに処理を書けば、OKです。
関連するQ&A
- フォーム上で押されたボタンによってサーブレットの処理を変えたい
Urizakaです。 さて、さっそく質問です。 JSPの同一フォーム上に「登録」「修正」「削除」のボタンを置き、その押された ボタンによってサーブレット内での処理が切り替わる(具体的には、違う SQL文を実行し、違うJSPページをgetRequestDispatcherメソッドで生成 する)ようにしたいのですが、どのようにすればよいのでしょうか? もちろんそれぞれの処理に対して別々のサーブレットを作り、javaScript でそれぞれのサーブレットへ飛ぶように制御するという処理も考えたことは 考えたのですが、できれば一つのサーブレットで済ませたいと考えたもので …宜しくお願いします。
- ベストアンサー
- Java
- サーブレットからJSPへ情報を渡す
サーブレットからJSPへ情報を渡すことについて質問がございます。 ■質問は、ブラウザからサーブレットにリクエストして モデルからデータを取り出しJSPがモデルを参照して ブラウザに結果を表示し、ブラウザの画面のボタンを クリックすると、またサーブレットにリクエストが いくようにしたいのですが、 そのJSPから二度目のサーブレットへのリクエスト及び リクエストする際にデータを渡すのですが、 JSPからサーブレットへ飛んでくれず404エラーがでます。 ★どうしたら、JSPからサーブレットへ飛んで くれるでしょうか? ■簡単な流れでかきますと リクエスト(hidden value="patu") ブラウザ → サーブレット → モデル ←→ テキスト ↓ ↑(参照) ブラウザ ← ← JSP →→→→→ 上記の流れは一回の流れですが、次JSPからまたサーブレットへ actionし、(hidden value="patu")をして同じ流れを くりかえしたいのです。 ■JSPではどのようになっているかと申しますと <form action="http:://localhost:8080/sotu/TextServlet"method="POST"> <input type="image" src="NEXTquiz.gif" value="次の問題" onclick="http://localhost:8080/sotu/TextServlet'"> <iuput type="hidden" name="patu" value="yonyc.getPatu()"> </form> となっております。 ■サーブレットでは protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { String kye = request.getParameter("patu");//value受け取り MondaiSC mondaisc = new MondaiSC(); //モデルクラス生成 mondaisc . mondaisc.DefaultQuiz(kye, i); //モデルにキーを渡す ArrayList textList = mondaisc.getTextList(); //モデルクラスからテキストの情報が入っているArrayListを受ける り HttpSession session =request.getSession();//sessionに入れる session.setAttribute("text",textList); RequestDispatcher rd =getServletContext().getRequestDispatcher("/yomi.jsp"); } このyomi.jspからまたサーブレットへ同じリクエストをおくりたいの です。 ところが飛んでくれません。 恐らく、JSPでの記述の仕方に問題があるのではないこと思っており ますが、どなたかアドバイスをお願い致します。 宜しくお願い致します。
- ベストアンサー
- Java
- JSPとサーブレット
書き込み一覧が表示してあるJSPの入力フォームがあり、そこで入力をして「書き込み」ボタンを押すと入力したデータが、DBへ登録するサーブレットへ飛び、入力をした画面上では「書き込みました」のようなHTML画面が表示されるとします。その画面で「TOPへ戻る」ボタンを押すと、今度は検索サーブレットが動き、DBから最新の一覧が引っ張り出され、登録更新後の書き込み一覧JSPが画面上に出るとします。ここで質問なのですが、「書き込み」ボタンを押すと同時に登録サーブレットと検索サーブレットを動かすことは出来ないのでしょうか?理想としては、「書き込みました」のようなHTML画面は使用せず、一気に更新後の一覧を表示させたいのです。 この辺の知識はあんまり無いもので、具体的な記述方法を教えて頂くと嬉しいです。
- ベストアンサー
- Java
- テキストボックスから勝手に画面遷移される。
urizakaです。 現在J-BUilderを使ってテキストボックスに入力された内容をDBに送るという JSPの画面を作っているのですが、そこでテキストボックスでEnterキーを押すと 勝手にサーブレットに遷移されるというエラーが発生してしまいます。最初は、 <Form name="Insert" Method="POST" Action="…"> (…にはサーブレットのアドレスが入ります) と設定しているので、それでActionに登録されたサーブレットに遷移してしまう のだと思い、ActionをJSP上のボタンが押された時に設定されるようにしたのですが、そうするとそのページが表示される前に実行されるサーブレットに移動してしまいます。もしかすると、HTMLの設定の問題なのかもしれませんが、すみませんが この件についてご存知の方がいらっしゃいましたら教えてください。 宜しくお願いします。
- ベストアンサー
- Java
- ハイパーリンクの表示について
エクセル2003でハイパーリンクを使うとエクセルのシートに青い文字で リンク先の名前が表示されます。 この文章を変えることはリンクの編集でできます。 ところが先日、ある同僚がリンクの青い文字ではなく、それをボタン表示?にしてました。 よくよく見るとそれはボタンではなく、単に図であり、そのボタンはシートに固定されてなく、どこでも動かせます。 しかし不思議なのは、どうやってハイパーリンクの表示をボタンにしたのでしょうか? ちなみにそのボタンを右クリックしてハイパーリンクの編集を見てみると、リンク文字入力がしろくハッチングされていて、入力できないようになってました。これは何かのマクロなのでしょうか? もしこのような事が簡単にできるなら教えて下さい。 ただし、このボタン、単に図なのでシートの何処にでも移動してしてしまうため、資料としては危険かもしれません。
- ベストアンサー
- オフィス系ソフト
- パワーポイントのハイパーリンク機能で教えてください
PowerPoint2000を使用しております。ハイパーリンクについて質問です。 ハイパーリンクを挿入した文字列は、スライドショー時には、その文字列 にマウスカーソルを合わせると「指マーク」になり、クリックできますが、 これをスライドショーではなく、通常の編集画面でもできるようにする にはどのようにすればよろしいでしょうか? 編集画面でも、文字列に合わせて右クリックから「ハイパーリンク」⇒ 「開く」でリンク先を開けることはわかるのですが、編集画面から1クリック でリンク先にジャンプしたいのです…。
- ベストアンサー
- オフィス系ソフト
- サーブレットの動作
以下のようなサーブレットのプログラムがあります。 本サーブレットを実行すると、simpleDB.jspに飛ぶようになっています。 疑問点は以下です。 ・GetやPostを使って送られてくるデータがないのに、なぜ 本プログラムが動くのか分かりません(根本的に分かって ないんですが)。 ・getServletContext().setAttribute("list", employeeList)で listに設定をしてますが、listは飛ぶ先のsimpleDB.jspで定義 されています。なぜこのサーブレットで定義されていないものを、 設定することが可能なのでしょうか? 以上、ご回答頂けると幸いです。 ---------- import java.io.IOException; import文以下略 public class EmployeeServlet extends javax.servlet.http.HttpServlet { /** * 初期化メソッド * 社員一覧をapplicationスコープにセットします */ public void init() { EmployeeDAO dao = new EmployeeDAO(); //EmployeeDAOクラスは他で定義済み ArrayList<Employee> employeeList = dao.findAll(); getServletContext().setAttribute("list", employeeList); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } /** * リクエストを処理するメソッド * simpleDB.jspに移動し、社員一覧を表示します */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String nextPage = "/view/simpleDB.jsp"; ServletContext context = getServletContext(); RequestDispatcher rd = context.getRequestDispatcher(nextPage); rd.forward(request, response); } }
- ベストアンサー
- Java
- excel2007 セルのハイパーリンク
ちょっと違ったハイパーリンクをさせたいのですが上手くいかず、悩んでいます。 どなたか知恵をください。 ●やりたいこと ・セル移動のハイパーリンクを設定したボタン(イラスト)は別にあり ・ある場所のセルにいる状態で、上記ボタンをクリックすると、行はそのままに離れた番地の列へ移動 もしくは、列はそのままに離れた番地の行へ移動 例えば、「C15」のセルにいる状態でボタンを押すと、「AZ15」に移動する (行の番地「15」は固定したまま、異なる列へ移動) 移動させたい列番地はいくつかあるので、上記ボタンを並べて使いたいです。 ある実験において、様々な条件における色々なデータを取りたいのですが、採取データを入力するセルの位置を間違わない様に、上記の様なハイパーリンクをさせて次第です。 宜しくお願いします。
- 締切済み
- Excel(エクセル)
- サーブレット内でuseragent情報を取得したい
お世話になります。 プログラムは、 ログイン画面で、ユーザIDとパスワードを入れていただき、 認証OKであれば、次の画面(ログイン直後の画面)を表示するだけの、 JavaServletとJSPの連携した動的Webプログラムです。 (実際に動作確認済です) これまでは、JavaServletのdoPostメソッド内で、 パスワード認証OK直後に、固定で1つのJSPファイルを 単純にforwardで開く仕様でしたが、 今後は、 JSPファイルを開く前のどこかで、 user-agent情報(ログインなさった人のOS情報と、Webブラウザ情報)を 取得して、IF文で判断させて、 別々のJSPファイルをforwardで開く仕様に変更したいです。 (たとえば、 IE9でログインなされた場合には、doPostメソッド内から”FormIE9.jsp”をforwardで開く。 Firefoxでログインなされた場合には、doPostメソッド内から”FormFirefox.jsp”をforwardで開く。 など、表示されるJSP画面を変更したいです) 上記したようなプログラムの流れでは、 どのタイミングで、どのようにして、 user-agent情報(ログインなさった人のOS情報と、Webブラウザ情報)を 取得するのが定番なのでしょうか? (ちなみに、ログイン直後の画面(JSP)内に、JavaScriptを追加して、 user-agent情報を取得することは試してみて出来たのですが、 しかし、そのJavaScript内から、 別のJSPファイルを開くことが、私には出来ませんでした) 以上になります。 もし方法を御存じの方がいらっしゃいましたら、 よろしくお願いいたします。
- ベストアンサー
- Java
お礼
なるほど、そういうことでしたか… ありがとうございました。