0

URL 内でフィルター パラメーターをエンコードしようとしています。読み取り可能な URL が必要なので、スペースをアンダースコアに置き換えたいと思います。

aston$0020martin ではなく、aston_martin にエンコードされた aston martin の例。次に、URL をデコードして aston martin に戻せるようにする必要があります。

私の唯一の懸念は、自然にアンダースコアを含む検索パラメーターです。この特定のユースケースで何をするかわかりません。

私は tapestry5 のユーザーなので、URLEcoder をオーバーライドするか、Java URLEncoder を使用するオプションがあります。好きなようにエンコードする方法がわかりません。

どんな助けでも大歓迎です。

4

1 に答える 1

2

URLエンコードとjava.net.URLEncoderを混同しています。当然のことですが、あなたのせいではありません。その名前にもかかわらず、後者のプロセスはURL引数の名前と値に対するものであり、POSTデータでも同じです。スペースを%20に変えるのは前者だけです。後者はそれを'+'に変換します。これは、(a)フィルターパラメーターに対して行う正しいことであり、(b)可逆的であり、(c)%20ほど不快ではありません。どこから$0020を手に入れたのかわからない。

于 2012-10-17T23:52:17.927 に答える