- - PR -
jsp:paramで値が渡せない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-09-24 14:27
こんにちは、JSPについて教えて下さい。
test1.jspでは、1個の入力項目と、2つのボタンがあります。 押されたボタンによって異なる処理をtest2.jspで行おうとしています。 またパラメータを1つ増やしてtest3.jspに渡そうとしているのですが、 (1)増やしたパラメータformNoがtest3.jspに渡されません。 nullが表示されてしまいます。 (2)キャンセルボタンを押しても、testがクリアされません。 どなたか下記解決方法をご教授下さい。 下記ソース ---< test1.jsp >------------------------------------- <%@ page import="java.sql.*, atmarkit.*" contentType="text/html; charset=Shift-JIS" %> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <FORM method="POST" action="test2.jsp"> <INPUT size="3" type="text" name="test"> <INPUT type="submit" name="save" value=" 登録 "> <INPUT type="submit" name="cancel" value="キャンセル"> </FORM> </BODY> </HTML> ---< test2.jsp >------------------------------------- <%@ page import="java.lang.*, java.sql.*, atmarkit.*" contentType="text/html; charset=Shift-JIS" %> <% String action=""; request.setCharacterEncoding("JISAutoDetect"); String test = request.getParameter("test"); String save = request.getParameter("save") ; // 登録ボタン String cancel = request.getParameter("cancel") ; // キャンセルボタン String act_url="test3.jsp" ; int formNo=0; if ( save != null ){ // 登録ボタン? formNo=1; } if ( cancel != null ){ // キャンセルボタン? formNo=2; test = ""; } %> <jsp:forward page="<%= act_url %>"> <jsp:param name="formNo" value="<%= formNo %>" /> <jsp:param name="test" value="<%= test %>" /> </jsp:forward> ---< test3.jsp >------------------------------------- <%@ page import="java.sql.*, atmarkit.*" contentType="text/html; charset=Shift-JIS" %> <% String action=""; request.setCharacterEncoding("JISAutoDetect"); String test = request.getParameter("test"); String formNo = request.getParameter("formNo"); %> <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> <FORM> テスト<INPUT size="3" type="text" name="name1" value="<%= test %>"> formNo<INPUT size="3" type="text" name="name2" value="<%= formNo %>"> </FORM> </BODY> </HTML> | ||||
|
投稿日時: 2004-09-27 15:51
どなたか、ご教授お願いします。
m(__)m | ||||
|
投稿日時: 2004-09-27 16:17
パッと見ではソースには問題なさそうなのですが…
古いソースが実行されているか何かでtest1.jspからtest3.jspが実行されているか、古い test2.jspが実行されていたりしませんか? ・入力画面(test1.jsp)のHTMLソースの確認 ・test2.jspを適当に書き換えてみて(ログ出力など)その変更が反映されるかどうかの確認 をしてみてください。 | ||||
|
投稿日時: 2004-09-27 16:31
↑キャッシュをクリアしたり、ソースの確認等、いろいろ試してみましたが、
test1.jspからtest3.jspが実行されているかのように動いています。 何が原因なのでしょうか? | ||||
|
投稿日時: 2004-09-27 16:51
で、HTMLソースを確認した結果どうだったのでしょうか。フォームのアクションにはtest3.jsp が指定されていたのですか? アプリケーションサーバの種類など何も書いてないのですが、 Tomcatであれば、Tomcatのインストールディレクトリの下のworkディレクトリを削除して 再起動してみたらどうなるでしょうか。 | ||||
|
投稿日時: 2004-09-27 17:22
HTMLのソース確認ですが、test1.jspはtest2.jspを呼び出すようになっていました。
test2.jspを下記のように修正したところ、test2.jspでの表示は正常に、test3.jsp(forward分)での表示はformNoはnullとなりました。 テスト<INPUT size="3" type="text" name="name1" value="<%= test %>"> formNo<INPUT size="3" type="text" name="name2" value="<%= formNo %>"> <jsp:forward page="<%= act_url %>"> <jsp:param name="formNo" value="<%= formNo %>" /> <jsp:param name="test" value="<%= test %>" /> </jsp:forward> アプリケーションサーバはTOMCATです。情報が不足ですいません。 アプリケーションサーバの変更は、現在できない状況ですので、 確認次第連絡させて頂きます。申し訳ありません。 |
1