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

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

ただいまの
回答率

90.51%

  • JavaScript

    20415questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    15831questions

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

  • Eclipse

    1925questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

  • JSP

    1034questions

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

jsp submit button 属性について

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 974

khr0404

score 35

前提・実現したいこと

閲覧いただきありがとうございます。

現在javaを勉強中なのですが簡単なチャットをつくっております。

質問したいことなのですが投稿をsubmitで作っており、表示件数を入力し設定ボタンを押すと表示件数が変わるのですが設定ボタンもsubmitで作っており
投稿ボタンも設定ボタンも同じ扱いとなっていしまいます。

JSP

<form action="/Test/Chat1" method="post">
        ID:<input type="text" name = "Id" value = "" size=20>
        タイトル<input type="text" name="Title" value="" size=20>
        <br>
        <input type="text" name = "Body" value = "" size=40>
        <input type="submit" value=" 投稿 " name="do">
        <input type="button" onclick="location.replace(location.href)" value="ページを更新">
        <br>
        表示行数:<input type="number" name="num" value="5" min="1" max="100" step="1">行
        <input type="submit" value=" 設定 " name="setting">
    </form>

サーブレット

int number = 5;
            String num = request.getParameter( "num" );

            if ( num != null ) {
                number = Integer.parseInt( num );
            }
            chatList = CDC.getContribution( number );
            int aList = CDC.dataList.size();

            application.setAttribute( "chatList", chatList );//アプリケーションスコープにインスタンスを保存
            application.setAttribute( "初期値", primary );//アプリケーションスコープにインスタンスを保存
            application.setAttribute( "aList", aList );

            RequestDispatcher dispatch = request.getRequestDispatcher( "/ChatOutput.jsp" );
            dispatch.forward( request, response );

試したこと

設定ボタンをsubmitではなくbuttonでつくってみたのですが、表示件数は変更されないままでした。

どのように改善したら設定ボタンは表示件数だけ変更できるボタンになるでしょうか。

どうかご教授お願い致します。

補足情報(言語/FW/ツール等のバージョンなど)

eclipse  4.3   
JDK 1.7   
Tomcat 7   
DB = H2

追記

JSPでの設定ボタンの記述を
<button type="submit" value=" 設定 " name=setting>設定</button>
と変更し

String setting = request.getParameter( "setting" );


            if ( "設定".equals( setting ) ) {

            int number = 5;
            String num = request.getParameter( "num" );

            if ( num != null ) {
                number = Integer.parseInt( num );
            }


            chatList = CDC.getContribution( number );


            int aList = CDC.dataList.size();


            application.setAttribute( "chatList", chatList );//アプリケーションスコープにインスタンスを保存
            application.setAttribute( "初期値", primary );//アプリケーションスコープにインスタンスを保存
            application.setAttribute( "aList", aList );


            RequestDispatcher dispatch = request.getRequestDispatcher( "/ChatOutput.jsp" );
            dispatch.forward( request, response );

        }

と変更したのですがJSPページも表示されなくなってしまいました。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

0

<form>内の入力項目をサーバへ送信する場合には、submitボタンを押すか、JavaScriptから対象のformのsubmitを実行します。
location.href では指定したURLへリクエストしてしまうので、<form>の内容を送信しません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/31 15:06

    A-pZさん

    回答ありがとうございます。
    location.hrefの部分は<form>の内容を送信したくはないのでそのままでよいのですが、
    <input type="submit" value=" 設定 " name="setting">

    のsubmitを使っているのにsettingの記述をしていないため同じsubmitの投稿ボタンと同じ動作をしてしまっています。
    表示件数をnumber属性で選択しsubmitで表示件数だけ変更できるような記述にしたいのですがどうでしょうか。。。

    キャンセル

0

formタグを分けるのはどうですか

<form action="/Test/Chat1" method="post">
    ID:<input type="text" name="Id" value="" size=20> タイトル
    <input type="text" name="Title" value="" size=20>
    <br>
    <input type="text" name="Body" value="" size=40>
    <input type="submit" value=" 投稿 " name="do">
    <input type="button" onclick="location.replace(location.href)" value="ページを更新">
    <br> 表示行数:
</form>
<form action="/Test/xxxxx" method="post">
    <input type="number" name="num" value="5" min="1" max="100" step="1"><input type="submit" value=" 設定 " name="setting">
</form>

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • JavaScript

    20415questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    15831questions

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

  • Eclipse

    1925questions

    Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

  • JSP

    1034questions

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