2017-01-27 8 views
0

showdata.jspには、MySQLデータベースのすべてのデータがテーブル形式で格納されています。テーブルフィールドは、特殊文字を含むパラメータを1つのJSPから別のJSPに渡す方法&

id,firstname,lastname 

であり、すべてのフィールドはデータベースではvarcharです。

各行には、行の詳細を編集するための更新ボタンがあります。私はshowdata.jspからupdatedata.jspに行のIDを渡しています。ここではupdatedata.jspにデータを取得して編集するためのテキストフィールドがあります。これは、特殊文字を含まないパラメータ(id/string)でうまく動作しますが、特殊文字列/ idsの場合はデータを取得しません。 showdata.jsp渡さ URLここ

<a href="updatedata.jsp?id=<%=request.getParameter(1)%>">Update</a> 
+0

私は文字列 "science&technology"を持っていて、データベースからこの文字列を含む行を検索したいと思うなら、そのような状況で私は必要なものを手に入れることができません結果 – Anju

+1

引数に 'science&technology'を渡すことはできません。スペースは受け入れられず、'& 'は予約文字です。しかし、あなたはそれらの文字をエスケープすることができます。これは、 ''があなたがそれらの値をparamパートに渡すとすることです。 – AxelH

+0

okありがとうございました...単純なjspで、jstlではない方法を教えてください – Anju

答えて

1

あるurlタグが自動にPARAM値をコードするJSTL

を用いた溶液です。

<c:url value="www.myurl.org" var="mylink"> 
    <c:param name="arg1" value="Science & technology" /> 
    <c:param name="arg2" value="Hello" /> 
    <c:param name="arg3" value="World" /> 
</c:url> 
<a href="${mylink}">The link</a> 

結果のリンクhrefは次のようになります。これが最善の解決策ではありませんので、私は、JSTLない溶液がURLEncoder.encodeまたはURIを使用することです(最後は安全です)しかし:

<a href="www.myurl.org?arg1=Science+%26+technology&arg2=Hello&arg3=World">The link</a> 

注意)

+0

大丈夫です。あなたに感謝しています...しかし、私が渡している値はハードコーディングされていません。..私は1つのJSPでデータベースからその値を受け取り、別のjsp ..と私はURLのエンコーダを試してきましたが、それは正常に動作しません.. – Anju

+0

@Anjuそれはjstlを使用する点です、あなたは簡単に '$ {my_parameter}'のような名前からパラメータを直接取得することができます値。私はあなたのエンコーディングの問題の解決法を提供しました.JSTLの使い方については、既存のポストや良いチュートリアルを見つけることができます。しかし、あなたはまだパラメータ値に値を設定するscripletを使用することができます... – AxelH

+0

どこで私は、特殊文字とそのURLencoding表現の完全なリストをjavaとajaxで得ることができますか? – Anju

関連する問題