- - PR -
POST送信したデータの末尾に半角空白" "がついてしまう
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-21 10:53
サーバーサイドJavaをはじめて2ヶ月ちょっとの者ですが、よろしくおねがいします
開発環境 J2SDK 1.4.2、Tomcat4.1、MySQL 3.23.51、Eclipse(LomBozzJ2EE) ○05input01b.jspで(ソース抜粋) int p_shi_no=Integer.parseInt(request.getParameter("shi_no")); <form name="input" method="post" action="05input01b.jsp"> <input type="text" name="s_no" size="1" value="<%out.println(p_shi_no);%>"> (同様の入力用フィールドが5つ) <input type="submit" name="m02" value="明細更新"></form> といった感じで、計算のために入力を行ってから、同じページに値を飛ばして取得しています。このとき数値、テキストを問わず"値 "となって半角空白" "が末尾についてしまいます。この前のページからPOST送信してgetParameterで取得したときには普通なのですが・・・同じページで行うことが原因だとは思うのですが。このあとのページで条件式などに使うので、是非とも解決したいのですが、解決法が見つかりません。 どなたかわかる方がいればレスよろしくおねがいします。また、必要な情報がぬけてる点などあればご指摘ください | ||||||||
|
投稿日時: 2003-09-21 12:47
これだけだと、なんともいえないですけど、DBに一度データをおくっているなら、(おくっていないようですけど)DBの列の定義でキャラクターのフォーマットに原因があるのではと感じます。(DBによって、一文字を1バイトから3バイトまであつかうというものがあるので、もし、3バイトで扱われていると、日本語の漢字の場合、2バイトなので、残り、1バイトは空白として扱われるかもしれない・・・)DBを下記の時点で通していないのであれば、プログラム中で文字のフォーマットを変えて試してみると何か、原因が見つかるのではと感じます。SJISとか8859とか、何か見つかるかもしれません。ちなみに、同じページに飛ばしても、空白がついてくるという現象は私が行っている文字フォーマットでは現象は発生していません。試してみる価値はあると思うので、ご参考までに。
| ||||||||
|
投稿日時: 2003-09-21 13:12
out.println()によって改行されてしまうからではないでしょうか。
なので次のようにprintメソッドを使用したら解決するかも。 <%= out.print(request.getParameter("shi_no")) %> | ||||||||
|
投稿日時: 2003-09-21 15:23
<% out.print(request.getParameter("shi_no")) %> か、 <%= request.getParameter("shi_no") %> では? 後者のほうがいいと思いますが。 | ||||||||
|
投稿日時: 2003-09-21 16:40
あー、"="が余計でしたね。すいません。 そして後者のが理想の形ですね。 ukさん、フォローありがとうございます。 | ||||||||
|
投稿日時: 2003-09-21 17:24
レスありがとうございます、直りました。
なんでもかんでも、printlnにしてしまってました(汗 知識不足、理解不足すぎますね、ありがとうございました。 | ||||||||
|
投稿日時: 2003-09-22 01:27
はじめまして。
で、本題からは少し話がそれるのですが、 <%= request.getParameter("shi_no") %> という記述はあまり好ましくないかもしれません。 XSSとか。 | ||||||||
|
投稿日時: 2003-09-22 10:28
ども、ほむらです。
指摘されてはじめて気づく。。。 この場合は、テキストボックスの内容だから大丈夫な気もするけど 普通の表示でもやってしまいそうですね。。。 こういうところから。セキュリティホールが出来てしまうわけですか。 #ところで p_shi_no をprintしてあげればよいだけでよね?結局 #認識の訂正 #実験の結果やっぱりコントロールであっても #この書き方ではXSSのセキュリティホールになるようです
テキストボックスをクリックするとポップアップが表示されました。 [ メッセージ編集済み 編集者: ほむら 編集日時 2003-09-22 10:45 ] | ||||||||
