
お世話になります。
2フレームの画面(画面A,画面B)にて
次の操作を行った場合、
「+」が入ったパラメタがうまく送信されません
(1)画面Aに検索条件を入力
(2)画面Aの「検索ボタン」を押下
(3)該当する情報を画面Bに表示
普通は、
「検索ボタン」→サーブレット→画面Bのjsp
という順番ですが
今回作っているものは
「検索ボタン」→画面Bのjspを呼び出す→画面Bのjsp内で、条件取得クラスを呼ぶ
という作りです。
条件取得クラスを呼ぶ前に、入力された条件を
取得したいのですが、
入力条件に「+」が入っていると、「 (スペース)」に
変換されます。。。
例:入力条件「123+45」→「123 45」
原因・対処がおわかりの方、よろしくお願い致します
---------------------------------------------
【画面A→画面Bの呼び出し】
parent.画面B.location.href
= '画面B.jsp?KEY=' + 入力値
(alert()でurlを見てみると→「画面B.jsp?KEY=123+45」)
【画面Bでの入力値取得】
String key = request.getParameter("KEY");
(System.out.printlnで見てみると「123 45」になる)
----------------------------
【開発環境】
WinXP
Weblogic8.1
JDK1.4.2
Ecripse2
No.3ベストアンサー
- 回答日時:
>入力条件に「+」が入っていると、「 (スペース)」に
変換されます。。。
遷移先の画面B.jspでrequest.getParameter("KEY");を呼んでいますが、
getParameterはURL(画面B.jsp?KEY=' + 入力値)をURLデコードしてから値を取り出すからです。
URLデコードすると+はスペースに置き換えられます。
つまり、デコードされる前提ならば、URLをエンコードして置かないといけません。
具体的には以下のような感じだと思います。
A.jsp
<%@page import="java.net.*"%>
<html>
<a href='b.jsp?key=<%= URLEncoder.encode("1+2") %>'>B.jsp</a>
</html>
B.jsp
<%@page import="java.net.*"%>
<html>
<%
out.println(request.getParameter("key"));
%>
</html>
potedoraさん、ご回答ありがとうございました。
ご指摘のとおり、URLEncoder.encode()を追加しましたら、うまくいきました!
具体的にソースまで書いていただき、
大変勉強になりました。
ありがとうございました!
No.2
- 回答日時:
検索に日本語とかはいるなら str = URLEncoder.encode(str) とした方がいいですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
三菱GOTの画面切り替えについて
-
Strutsのデータ受け渡しについて
-
MFCプログラミング
-
Java-jspの画面入力値保持について
-
HTMLをC#で操作したい
-
C言語で今まで表示していた画面...
-
location.hrefでページ切替時の...
-
Sessionがnullになりません。
-
モーダル画面の親をクリック時...
-
ウィンドウの制御について、質...
-
ASP.NET 画面遷移前の状態を保...
-
仕様書はどんなものを作ってい...
-
VC++にて、コンソールを二画面表示
-
C# ログイン画面からメイン画面...
-
画面遷移を行わずに同一ページ...
-
遷移元を判定したい!
-
サブミット後、自動的に画面を...
-
JSPかサーブレットでオセロゲーム
-
ボタンが活性化の場合とは、ボ...
-
VB.NET DataReaderが開かれている
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java-jspの画面入力値保持について
-
三菱GOTの画面切り替えについて
-
C言語で今まで表示していた画面...
-
ServletからServletへの値渡し
-
Strutsのデータ受け渡しについて
-
C# ログイン画面からメイン画面...
-
セッション切れでのリクエスト...
-
java初心者です。 画面Aで情報...
-
検索画面→結果画面→検索画面と...
-
location.hrefでページ切替時の...
-
遷移元を判定したい!
-
system("cls")について
-
JAVAのセッション変数の上書き...
-
登録後、呼び出し元ページに戻...
-
画面を隠す・消す方法を教えて...
-
strutsで、JSP→アクションクラ...
-
ブラウザアドレスバーからのURL...
-
ServletからHTMLページへの遷移...
-
非アクティブな画面を操作する...
-
javaのstrutsを使った画面遷移...
おすすめ情報