textに入力後にリンクボタンをクリックすとnullになる

[新着] Webテンプレートを仮オープンしました



0   名前: ゆき : 2007/05/19(土) 19:29  ID:aWpkI5wp sub-.G
メールアドレスとパスワードを入力し新規登録のリンクをクリックしたら
指定したformTest.jspにジャンプさせたいのですが
受け取り側formTest.jspでmailAddressがnullになります。
以下の記述です。
リンクを張る場合でも入力は無効にはならないのでしょうか?
要は、入力項目をそのまま維持してリンク先にジャンプしたいのですが。
どなたかご教授願います。

--------------------------------------------------------------
<HTML>
<HEAD><TITLE>パラメータの受信</TITLE></HEAD>
<body>
メールアドレスとパスワードを入れてログインしてください。
<FORM action="formTest.jsp" method="post">
メールアドレス:<input type="text" name="mailAddress" ><BR>
パスワード :<INPUT type="password" name="password"><BR>
<INPUT type="submit" value="ログイン">
</FORM>
<A href="formTest.jsp?action=regist" >新規登録</A>
</BODY>
</HTML>
--------------------------------------------------------------

1   名前: Z ◆XTzyosZXcL : 2007/05/19(土) 19:29  ID:KXOMMoT8 sub-Cl
 JSP側の記述が分からないと、知識があっても答えようがないように思います(とりあえず、送受信とA要素は直接関係ないように思えます)。

基本的なフォーム:
http://www.kanzaki.com/docs/html/htminfo31.html

フォームとデータの送信:
http://www.kanzaki.com/docs/html/htminfo32.html

 また、お使いのサーバ(自分のPCで実験しているな自分のPC)に必要環境が用意されていないか、またされていてもバージョンがあわないなどの可能性もあることでしょう。

 もう少し情報を提示してくだされば、もしかしたら詳しい方からのコメントがあるかもしれません。

関連しそうな掲示板Q&A:
http://www.tagindex.com/bbs/qa04.html#a02
http://www.tagindex.com/bbs/qa06.html#a01
http://www.tagindex.com/bbs/qa09.html#a03

JavaServer_Pages(多分こちらの話をさしているのでしょう)とは(WikiPedia):
http://ja.wikipedia.org/wiki/JavaServer_Pages

2   名前: ゆき : 2007/05/19(土) 19:29  ID:aWpkI5wp sub-.G
Z様。
ご回答ありがとうございました。
関係サイトはすべて参考にさせていただきました(笑)。
いろいろ勉強になります。

自分でも
”html リンク 入力”
”<A href input type="text" ”
"Aタグ 送受信”とか 考えられる組み合わせを行い検索してみたのですが
サンプルとかをみても
やはりボタンをつくって入力データを送信するタイプが主のようですね。

自宅のPC(XP)で行っています。
環境というのはApache Tomcat/5.5.12 です。
JSPの記述も追加しました。
HTMLとJSPと実行結果を乗せていただきます。
--------------------------------------------------------------
<HTML>
<HEAD><TITLE>パラメータの受信</TITLE></HEAD>
<body>
メールアドレスとパスワードを入れてログインしてください。
<FORM action="formTest.jsp" method="post">
メールアドレス:<input type="text" name="mailAddress" ><BR>
パスワード :<INPUT type="password" name="password"><BR>
<INPUT type="submit" value="ログイン">
</FORM>
<A href="formTest.jsp?action=regist" >新規登録</A>
</BODY>
</HTML>
--------------------------------------------------------------
以下formTest.jsp側記述
-----------------------------------------------------------------------------
<%@ page import="book.UserEnt" contentType="text/html; charset=Windows-31J" %>
<%
boolean isRegist = false;
request.setCharacterEncoding("Windows-31J");
String regist=request.getParameter("action");
if (regist != null && regist.equals("regist")) {
isRegist = true ;
}
%>
<HTML>
<HEAD><TITLE>パラメータの受信</TITLE></HEAD>
<BODY>
<% if (isRegist ) { %>
ユーザ登録が指示されました。<BR>
メールアドレス<%= request.getParameter("mailAddress") %> <BR>
パスワード <%= request.getParameter("password") %> <BR>
<% UserEnt UE = new UserEnt();
String mailAddress = request.getParameter("mailAddress"); ←@
String password = request.getParameter("password");   ←A 
String msg = UE.new_check(mailAddress,password);     ←B
%>
<%= msg %> <br>
<% } else { %>
メールアドレス<%= request.getParameter("mailAddress") %> <BR>
パスワード <%= request.getParameter("password") %> <BR>
<% UserEnt UE = new UserEnt();
String mailAddress = request.getParameter("mailAddress");
String password = request.getParameter("password");
String msg = UE.login_check(mailAddress,password);
%>
<%= msg %> <br>
<% } %>
</BODY>
</HTML>
-------------------------------------------------------------------
@Aの表示がnullになります。
Bはパラメータにnullなので仕方ないのですが。
実行結果 以下に記述
-------------------------------------------------------------------
ユーザ登録が指示されました。
メールアドレスnull
パスワード null
null
--------------------------------------------------------------------

3   名前: Z ◆XTzyosZXcL : 2007/05/19(土) 19:29  ID:KXOMMoT8 sub-Cl
>>2
 一般的に、プログラムは記述された順番で実行しようとするはずなので、

>ユーザ登録が指示されました。<BR>
>メールアドレス<%= request.getParameter("mailAddress") %> <BR>
>パスワード <%= request.getParameter("password") %> <BR>

この部分と、

><% UserEnt UE = new UserEnt();
>String mailAddress = request.getParameter("mailAddress"); ←@
>String password = request.getParameter("password");   ←A 
>String msg = UE.new_check(mailAddress,password);     ←B
>%>

とを入れ替えてみたらどうなるでしょうか?
#HTML質問板よりは総合質問板の方が話題続行にはむいていると思いますが、ついでなのでご容赦下さい(^^;>ALL

4   名前: ゆき : 2007/05/19(土) 19:29  ID:LlqnhM1b sub-.G
Z様。
たびたびのご回答に感謝いたします。
総合質問板の方ではWeb制作に関連する技術的という
少し範囲が広そうだとイメージがあったので
ある程度ジャンルを絞り込んだHTML掲示板を選択させていただきました。
やはり総合質問板のほうがいいんですかね。
ただ新しいスレッドをたてるのが少し気が引けますね。(笑)

記述を反対にしてみたのですが結果はnullとなりました。
以下記述
------------------------------------------------------------
<%@ page import="book.UserEnt" contentType="text/html; charset=Windows-31J" %>
<%
boolean isRegist = false;
request.setCharacterEncoding("Windows-31J");
String regist=request.getParameter("action");
if (regist != null && regist.equals("regist")) {
isRegist = true ;
}
%>
<HTML>
<HEAD><TITLE>パラメータの受信</TITLE></HEAD>
<BODY>
<% if (isRegist ) { %>
<% UserEnt UE = new UserEnt();
String mailAddress = request.getParameter("mailAddress");
String password = request.getParameter("password");
String msg = UE.new_check(mailAddress,password);
%>
<%= msg %> <br>
ユーザ登録が指示されました。<BR>
メールアドレス<%= request.getParameter("mailAddress") %> <BR>
パスワード <%= request.getParameter("password") %> <BR>
<% } else { %>
メールアドレス<%= request.getParameter("mailAddress") %> <BR>
パスワード <%= request.getParameter("password") %> <BR>
<% UserEnt UE = new UserEnt();
String mailAddress = request.getParameter("mailAddress");
String password = request.getParameter("password");
String msg = UE.login_check(mailAddress,password);
%>
<%= msg %> <br>
<% } %>
</BODY>
</HTML>
------------------------------------------------------
実行結果 以下記述
------------------------------------------------------
null
ユーザ登録が指示されました。
メールアドレスnull
パスワード null
------------------------------------------------------

5   名前: NullPo : 2007/05/19(土) 19:29  ID:05nvWK2y sub-.G
JSPの記述もまぁおかしいんだが、問題はそこじゃない気がするな。

よくよく>>0を読むと、
リンク設定された、「新規登録」ボタンを押したときの動作を聞いているようだ。
その記述でメールアドレス等を受け取るのは無理だな。

・・・と思うのだが、Zさんが>>1で指摘しているにも関わらず話を続けているのはなんでだろう。


HTMLだけでaction="regist"を追記するのは無理・・・な気がする。
JavaScriptをまじえないと駄目な気がする上、JSPも聞きたいのであれば総合質問版かな。

一覧へ戻る