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

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

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

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

JavaScript

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

605閲覧

input.jsp→サーブレット→output.jspで表示するときにJavaScriptも埋め込みたい

rigomammo

総合スコア5

JSP

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

JavaScript

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

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2020/10/30 02:38

編集2020/10/30 03:03

テキストボックスに文字列を入力して確定ボタンをクリックすると、入力した文字列が入力フォームの下にそのまま表示され、何も入力されなかったり半角スペースが入力された場合には”入力内容はありません”と表示させるプログラムを作成しています。

半角スペースが入力されるときにの処理にJavaScriptを使用したいのですが、すでにinput.jsp→サーブレット→output.jspの処理の流れに沿った入力フォームが出来上がっています。

特定の文字列が入力された時の下記のようなJavaScript処理を埋め込みたいです。
もし他に簡単な記述があるのであればご教授頂けるた幸いです。

JavaScript

1 function func1() { 2 var input_message = document.getElementById("input_message").value; 3 if(input_message == " "){ 4 input_message = "入力された内容は空です。"; 5 document.getElementById("output_message").innerHTML = input_message; 6 } 7 }

該当箇所のコードを以下に記載します。ファイル名は編集しています。

input.jspの入力フォームは

JSP

1 2<form action="Servlet" method="post"> 3<input type="text" name="user"> 4<input type="submit" value="確定"> 5</form>

サーブレットファイル

Serblet

1protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 2 HttpSession session = request.getSession(); 3 ArrayList<String> al = (ArrayList<String>)session.getAttribute("Data"); 4 5 6 if( al == null ) { 7 al = new ArrayList<String>(); 8 session.setAttribute("Data", al); 9 } 10 request.setCharacterEncoding("UTF-8"); 11 String input = request.getParameter("user"); 12 13 al.add(input); 14 session.setAttribute("Data", al); 15 request.getRequestDispatcher("output.jsp").forward(request, response); 16 }

output.jspの入力フォームは

JSP

1 2<% 3 ArrayList<String> aid = new ArrayList<String>(); 4 aid = (ArrayList<String>)session.getAttribute("Data"); 5 for(String s: aid){ 6 out.println(s + "<br>"); 7 } 8%>

以上、よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

formタグのonsubmit属性として、定義したチェック関数を呼び出し、submitしたくない場合に[return false]とする実装をすればよいかと思います。

具体的には

<form action="B28_HelloWeb_Servlet" method="post" onsubmit="return func1()"> として、func1では正常ならtrue、エラーならfalseを返す実装とする対応です。

投稿2020/10/30 03:06

plasticgrammer

総合スコア629

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

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

rigomammo

2020/10/30 03:54

早速のご回答ありがとうございます! 思うような実装が実現できましたのでベストアンサーにさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問