Mojarra2.1.7の使用
コード
<h:outputLink value="index.jsf">Login page
<f:param name="test" value="! åöä"></f:param>
</h:outputLink>
出力: index.jsf?test =%21+åöä
一部のキャラクターは逃げましたが、他のキャラクターは逃げませんでした。明らかに扱いが非常に難しい。
なぜこれであり、誰かがこれを管理するための良い方法を知っていますか?
http://docs.oracle.com/javase/6/docs/api/java/net/URLEncoder.html
+でスペースを解析するため、使用されているようです。
他のすべての文字は安全ではなく、最初に何らかのエンコード方式を使用して1つ以上のバイトに変換されます。次に、各バイトは3文字の文字列 "%xy"で表されます。ここで、xyはバイトの2桁の16進表現です。使用する推奨エンコーディングスキームはUTF-8です。ただし、互換性の理由から、エンコーディングが指定されていない場合は、プラットフォームのデフォルトのエンコーディングが使用されます。
答えてくれてありがとう