質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

3回答

10195閲覧

JSPからJava(Springフレームワーク)へのデータの受け渡し

退会済みユーザー

退会済みユーザー

総合スコア0

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2015/10/14 15:17

お世話になっております。

JSP内に設置したセレクトボックスから選択した値を
Javaに受け渡し、選択した値に応じた処理を行いたく
以下のようなコードを作成しました。
なおJava部分にはSpringフレームワークを用いています。

<!--JSP--> <form> <!--セレクトボックスに値を設定--> <select size="1" id="id_male" name="name_male" onchange=maleData()> <option value="Yamaguchi">Yamaguchi</option> <option value="Takahashi">Takahashi</option> <option value="Katou">Katou</option> </select> </form> <script type="text/javascript"> function imaleData(){ <!--オブジェクトのID名を取得--> var obj = $('#id_male'); <!--対象IDのvalueを取得--> var href = obj.val; <!--Java内の「/dataCheck」を実行したい(が出来ない)--> location.href = "/dataCheck"; }; </script>

lang

1//RequestMappingアノテーションでURL(/dataCheck)をマッピング 2@RequestMapping(value = "/dataCheck", method=RequestMethod.GET) 3 public String dataTest( 4 //JSP内のセレクトボックスで選択された値を取得 5 @RequestParam("name_male") String male, 6 Model model, 7 HttpServletRequest request, 8 HttpServletResponse response) throws Exception{ 9 //JSPから受け渡された値に応じた処理を実行 10 }

JSPのlocation.href = "/dataCheck";という部分で、
Java内でマッピングしたURLを実行させたいのですが、
通常の画面遷移をしているようで「404 not found」エラーが出ている状況です。
どのように修正すれば、セレクトボックスの値に応じた処理をJavaで実行できるでしょうか。

ご回答のほど、何卒よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

通常の画面遷移をしているようで「404 not found」エラーが出ている状況です。

JavaScriptで値を投げて、JSONを取得したいんですよね
それなら、@ResponseBody ってアノテーションをつけてますか?

@ResponseBodyをつけていないと、画面に表示するJSPのパスを指定したことになりますよ

投稿2015/10/15 13:18

編集2015/10/15 13:19
redhat98

総合スコア236

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Springは使ったことがないですが、

<form>タグに属性が何もないのが気になります。

せっかくなので、form:formタグをつかったりしてみてはいかがでしょうか?
Spring MVCのformタグを簡単にまとめました

投稿2015/10/15 02:30

kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

↓こういうことではありませんか?

<!--JSP--> <form name="f" method="get" action="./dataCheck"> <!--セレクトボックスに値を設定--> <select size="1" id="id_male" name="name_male" onchange="this.form.submit();"> <option value="Yamaguchi">Yamaguchi</option> <option value="Takahashi">Takahashi</option> <option value="Katou">Katou</option> </select> </form>

ご質問のJavaScriptのメソッド名とselectタグのonchangeの呼び出しメソッド名が一致していないのがものすごく気になりますが、

・location.href = "/dataCheck";は、ドキュメントルート/dataCheckに対してアクションする

というところで、404になってしまっているような気がします。

投稿2015/10/14 18:10

TetsujiMiwa

総合スコア1124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問