レンダリングされた JSP コードのプロパティ ファイルから中かっこを保持する必要があります。出来ますか?
\{
、'{
、{{
、 、'{'
などのオプションを試し/{
ましたが、助けにはなりません。
実行時に例外が発生します。
java.lang.IllegalArgumentException: 引数番号を解析できません
問題は、struts が を{}
ランタイム値のプレースホルダーとして処理することです。どんな助けでも大歓迎です。
ここを参照してください http://struts.apache.org/2.x/docs/how-to-escape-special-chars-in-resource-bundles.html
を使用'{'
し'}'
てエスケープします。
役に立たなかったように見える質問を読み直してください。
ちょうど 10 分前にこの問題に飛びつきました。これは私の試みです: '{' の代わりに '{' を入れてください。(参考:http ://www.asciitable.com/ )
Java は実際にキーを読み取る前にこれらの数値を { に解析するため、Oct または Hex コードを使用しないでください。したがって、同じ問題が発生します。Java は HTML コードを解析しないため、HTML コードのみが機能しますが、JSP ページは
MessageFormat 仕様から: http://download.oracle.com/javase/1.4.2/docs/api/java/text/MessageFormat.html
文字列内では、"''" は一重引用符を表します。QuotedString には、一重引用符を除く任意の文字を含めることができます。周囲の一重引用符は削除されます。UnquotedString には、一重引用符と左中括弧を除く任意の文字を含めることができます。したがって、フォーマットされたメッセージ "'{0}'" になる文字列は、"'''{'0}''" または "'''{0}'''" として記述できます。
これはおそらく、このように中かっこを完全にしようとする必要があることを意味します'''{'
。
一重引用符はに到着する前に'
常に二重化されるため、 @Mihai Toaderの提案どおりに生成することはできません。または、必要なその他の奇数のカウントstruts
MessageFormat
'''{'
MessageFormat
{
私は値を持つパラメータを使用することになりました}
my.property = You have ${0}count{1} unread messages
パラメータ値{
と}
を指定すると、次のようになります。
You have ${count} unread messages