0

パラメータをJavascript関数に渡す必要があり、そのパラメータには%などの特殊文字が含まれている可能性があります。これらの文字をエスケープして、JSに適切に渡されるようにするにはどうすればよいですか?これらのパラメータは動的に生成されるため、すべての文字を識別してそこにエスケープ文字を配置することはできません。

これはJSPの部分です...

<a href="javascript:redirect('<bean:write property="appId" name="appl"/>','<bean:write property="propId" name="appl"/>','<bean:write property="url" name="appl"/>');">
                                click this
                            </a>

これは生成された部分です...

<a href="javascript:redirect('A-0', '07', 'http://localhost:9083/xxxxx/aaa/bbbb/ccccc/redirectApply.do?token=9BsPtrGQPEYWv6dvbP9hsX9skeghTHnonkKZtsqrkZXSf7gKqKRYdo2i6CpcLOWxroqrWEDhyosk%0D%0A1aD1tQ0OBHHfsVjPKb%2B1kSFzjCg8lKyoGropGWc%2Bc7oCT8%2BYItwX');">

文字「%」が問題を引き起こしているようです。Firefoxのエラーコンソールを調べたところ、**** WEDhyoskまでの文字列が表示され、文字列が終了していないと表示されます.......。

この質問は私が投稿した以前の質問に関連していますが、当時は問題を明確に理解していなかったため、再投稿しています。

4

1 に答える 1

1

次のようなものを試してください。

String encodedurl = URLEncoder.encode("www.google.com","UTF-8");

リンクがクリックされると、ブラウザは文字列を自動的にデコードする必要があります。

于 2012-05-25T13:52:25.907 に答える