ある友人から、開発中のポートレットを見てほしいと頼まれました。彼が抱えている問題は、次のような値を入力すると
1 < 2 > 3
彼が取得する入力フィールドで
1 < 2 > 3
マップされた文字列フィールドで。
彼のコードのかなりの部分は疑わしいですが、.replace
関数/設定defaultHtmlEscape
をtrueに設定している彼のインスタンスを見つけることができませんでした.
私は彼のポートレットをデバッグしましたが、コントローラーに入る前にすでに変更されています。Springs のディスパッチャー ポートレットにブレークポイントを設定しましたが、processAction では既に変換されています。
>
<
が先行している場合にのみ解析される<
ため、html タグとして処理されるため、エスケープの問題である可能性が高いですが、それに影響を与えるコードは見つかりませんでした。
Spring 2.5.6 にはあまり詳しくありませんが (バージョン 3 を使用しています)、同様の問題を思い出せません。これは websphere portal 6.1 の問題かもしれませんが、同様の問題が見つからないので驚きです。(明日も同様のシナリオを作成してみます)。
任意の入力をいただければ幸いです。
(Spring 2.5.6-SEC02、WebSphere Portal 6.1、最新の機能パックなし)