Web アプリケーションで MVC パターンを使用するプロジェクトで作業しています。ビューは JSP のものです。私が自問していた質問: XSS 攻撃を防ぐために文字列を HTML にエスケープするために JSTL (c:out) が使用されている JSP を時々見ることができます。
この Apache クラス/メソッドのソースを調べたところ、c:out の使用と比較して、エスケープされる文字がはるかに多いことがわかりました (5 文字だけがエスケープ/置換されることがわかる限り: >, <、'、''、&)。
JSP のJSTL c:out 関数の代わりに StringEscapeUtils 静的ヘルパー メソッドを優先する理由はありますか?
そうでない場合:これらの両方の方法がどのように機能するかについての私の現在の理解は、一方の方法が他方よりも多くの文字をエスケープしているということです。しかし、この異なる動作の理由は何ですか? ビューでのみ1つのメソッドを使用し、コントローラーなどでより多くの文字を置き換える別のメソッドを使用するのはなぜですか? それとも、私は完全に混乱/間違いですか?