JSPとJavaScriptの連携について教えて下さい
当方、現在システム開発会社入社新人で、JavaやJSP、TomcatやOracleなどを使用してシステム開発をしている者です。
【用意されているデータ】
・メイン画面:A.jsp
・空白確認用JavaBeans:Blank.java
・登録処理用JavaBeans:Regist.java
【やりたいこと】
JSPのメイン画面(A.jsp)で、テキストボックス欄に名前を入力し、登録ボタンを押します。
データベースへ登録を行うのですが、その前にJavaBeans(Blank.java)を利用して入力された名前欄のテキストボックスが空白(=未入力)かどうかをチェックさせ、OKなら新たに登録用の(Regist.java)を呼び出しますが、もし未入力の場合は「入力して下さい」旨のメッセージボックスを表示し処理を中断させます。
【教えてほしい問題点】
ボタンを押したらJavaScriptへ入り、そこでBlank.javaを呼び出し、さらにIF条件を用いて空白/登録を分けようとしています。普通にJSP内ではできました。しかしその命令文をそのままJavaScriptの中に入れると全く機能しなくなってしまいます。このサイトの類似質問を拝見し、『JSPはサーバ、JavaScriptはクライアントサイドで動くものであり、そもそもが違うのでそのままでは使えず、JavaScript用に加工して使う必要がある』という所まで突き止めました。しかし、『じゃぁ実際どうすれば良いの?』という所がわかりません。
以下にコードを記します。ご回答頂ける方がいましたら、ぜひご教授下さい。
なお、本来は初期表示時点の判定があったりともう少し複雑なコードですが、とりあえず今回の問題を解決できると思われる部分のみ記述しました。タグの位置やスペルミスなどがもしかしたらあるかもしれませんが、元はコンパイルが通るものなので、その点はご了承下さい。
【コード】
◇◆A.jsp◆◇
<%@page import = 省略>
<jsp:useBean id='Check' scope='session' class='パッケージ.Blank'>
<jsp:useBean id='R' scope='session' class='パッケージ.Regist'>
<html>
<head>
<title>登録</title>
// JavaScript(自力でできる途中まで記述しました)
<script lauguage="JavaScript">
<!--
function check(){
var a = document.form_A.NAME.value;
■■■■■■■■■■■■■■■■■■■■■
■この中身がわかりません■
■■■■■■■■■■■■■■■■■■■■■
if(Check.Blank() == false){
alert('空欄です。入力して下さい');
}else{
R.Regist();
}
}
-->
</script>
</head>
<body>
// 入力欄nameの情報をパラメータとしてNAMEでsetする
Check.setNAME(request.getParameter("name"));
// 入力欄作成
<form name="form_A">
<INPUT type="text" name="NAME">
// ボタン作成
<INPUT type="submit" value="登録ボタン" onClick="check();">
</form>
<body>
</html>
◇◆Blank.java◆◇
public class BlankBean{
// メンバ変数
private String NAME;
// コンストラクタ
public BlankBean(){
NAME = null;
}
// 空白チェック(未入力はfalseを、OKの場合はtrueを返す)
public boolean Blank(){
if(NAME == null){
return false;
}
return true;
}
// setによるアクセスメソッド
public void setNAME(String i){
NAME == i;
}
よろしくお願い致します。
No.4ベストアンサー
- 回答日時:
無理にjavascriptでJAVAの部品を使ってチェックしようとするから、
ややこしくなって誤解するのです。javascriptは無くてもよいです。
処理は全部サーバー側でやりましょう。
HTMLで
<form action="A.jsp" method="post or get">
<INPUT type="text" name="NAME">
<INPUT type="submit" value="登録ボタン">
</form>
となっていれば、自分自身「A.jsp」にNAMEが送信されますから、
これをjspで、Blank.javaを使ってチェックし、OKならば、
Regist.javaで登録処理し、だめなら、エラーページもしくは
自分自身をそのまま出力(不親切)しとけばよい。
No.3
- 回答日時:
サーバサイドJavaScriptは確かにありますが、一般的にJavaScriptはクライアントサイドで動作するものであり、質問者さんの書いているコードはクライアントサイドJavaScriptだと思います。
node.js
http://nodejs.org/
http://nodejs.jp/nodejs.org_ja/
node.js を試してみた - ursmの日記
http://d.hatena.ne.jp/ursm/20100925/1285359068
> ボタンを押したらJavaScriptへ入り、そこでBlank.javaを呼び出し
ここがよくわかりません。
クライアントサイドで動作するJavaScriptからサーバサイドの Blank.java は呼び出せないんじゃないでしょうか?
流れとしては「サーバサイド → クライアントサイド」になるわけで逆に動作させるって事はもう一度HTTPリクエストを発行しなければなりません。(XMLHttpRequest とか JSON とか)
JavaScriptはJavaを解釈できませんので、JavaScriptコードを出力するか、XMLなどの整形フォーマットから必要なパラメータを解析する必要があります。
No.2
- 回答日時:
JavaScriptとjavaは名前は似てますが、まったく別の言語です。
基本から勉強しなおしてください。
>JavaScriptはクライアントサイドで動くものであり
これだってそもそも間違いです。
サーバーサイドでも動かせます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript javascriptで入力フォームが空欄の時にアラートによるエラーを出すコードを書いています。 2 2023/06/13 17:58
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
このQ&Aを見た人はこんなQ&Aも見ています
-
とっておきの「夜食」教えて下さい
真夜中に小腹がすいたときにこっそり作るメニュー、こっそり家を抜け出して食べに行くお店… 人には言えない、けど自慢したい、そんなあなたの「とっておきの夜食」を教えて下さい。
-
あなたにとってのゴールデンタイムはいつですか?
一週間の中でもっともテンションが上がる「ゴールデンタイム」はいつですか? その逆で、一週間でもっとも落ち込むタイミングでも構いません。 よかったら教えて下さい!
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
お風呂の温度、何℃にしてますか?
みなさん、家のお風呂って何℃で入ってますか? ぬるめのお湯にゆったり…という方もいれば、熱いのが好き!という方もいるかと思います。 我が家は平均的(?)な42℃設定なのですが、みなさんのご家庭では何℃に設定していますか?
-
JSPの処理の途中で、JavaScriptの処理をしたい
JavaScript
-
Javascriptの値をJava(JSP)へ渡す方法
Java
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
-
4
別ファイルのfunctionの読み込み方
JavaScript
-
5
Java-jspの画面入力値保持について
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日付入力欄の表示形式を自動的...
-
テキストボックス入力を半角英...
-
フォームから入力すると、入力...
-
JQueryで2つのテキストフィー...
-
文末の改行コードを削除したい
-
dijit.form.ComboBoxについて
-
JSPとJavaScriptの連携について...
-
入力フォーム内の字数制限
-
ASP エラーチェック VBScript
-
イベント発生時に入力待ち状態...
-
数字の1文字目を消したい
-
onClickとsubmitの処理順序
-
return trueとreturn falseの用...
-
【jQuery】input nameの文字列...
-
現在時刻を取得してフォームのs...
-
tableの任意行にfocusをあてる
-
Selectボックスの幅を自動で広...
-
セレクトを全て選択されていな...
-
value内に変数を入れたい
-
ハイパーリンクを別ウインドウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onClickとsubmitの処理順序
-
文末の改行コードを削除したい
-
JSPとJavaScriptの連携について...
-
テキストボックスを無効にする...
-
javascriptで入力フォームが空...
-
フォームの値が0だったら空白...
-
テキストボックス入力を半角英...
-
strutsのhtmlタグのfileについて
-
PDFフォームで条件つき金額を表...
-
条件により、リンク先に画面遷...
-
日付入力欄の表示形式を自動的...
-
イベント発生時に入力待ち状態...
-
vbsでフォームに値を入力できない
-
VBScript
-
javascriptのゲームで漢字を出...
-
JQueryで2つのテキストフィー...
-
手書き入力モードを利用して、...
-
javascriptでのフォーム自動入...
-
入力モード 自動 切り替え
-
Javascript 郵便番号の入力欄で...
おすすめ情報