エスケープ文字列を処理するための明確なガイドラインや規則を私に提供していただければ幸いです。私がエスケープ文字列のために使用するのは、apacheのcommons-lang-x.x.jarライブラリです。具体的にはStringEscapeUtils.escapeHtml(String toEscape)
メソッド。HTML文字列、JSPページ、またはサーブレットはどこからエスケープする必要がありますか?
私が知っている必要があります:
(1)ここで、JSPページまたはサーブレットでは、文字列をエスケープする良いですか?
(2)あなたはStringEscapeUtils.escapeHtml(..)または< C何をお勧めします:
JSTL
から>うち4.2(3)優れている複数行の文字列を、取り扱い、文字列に直接<BR>を使用し、または\ nとnl2br()メソッド:String strError = "Invalid username.\nPlease try again.";
又は
String strError = "Invalid username.<br>Please try again.";
(4)どのように私は、ワイルドカードを受け取り、文字列をエスケープ行く、一例になります。
String strError = "Invalid user [%s].<br>Please specify another user."
は(5)JavaScriptのエスケープ文字は異なっているので。 JSPページのJavaScriptセクション(例えば、var name = "<%=javaStringHoldingName%>"
)内でレンダリングされるJava文字列をエスケープするにはどうすればよいですか。ご質問の2については
に応答した最初の回答のコメントセクションの例を読んでください。「無効な範囲[%s]」のようなテンプレート文字列がある場合はどうですか?
英数字のみ"。そして、値が "1 .. <5"であると言うことができます。これはどのようにエスケープ処理されますか? 2行に表示されるため、テンプレート文字列には
が含まれています。 –
基本JSPでは、通常、JSTLの ''を使用します。また、Spring、JSFなどのJSP上で(MVC)フレームワークを使用している場合は、独自のメッセージフォーマットタグをすべて持っています。この偶然の偶然による偶然の質問も参照してください:http://stackoverflow.com/questions/4961558/best-practice-for-translations –
BalusC
あなたも知っている通り、 'StringEscapeUtils.escapeHtml(" lala ")を使っても動作します。 ; 'jspで印刷されます。 – Vince