4

私はそれを見ることができません。次と同等のことをしたい:

listValue="%{capitalize(remoteUserName)}"

s:selectタグ内。

struts のドキュメントhttp://struts.apache.org/2.0.11.2/struts2-core/apidocs/com/opensymphony/xwork2/inject/util/Strings.htmlによると、大文字化機能が存在します。上記とStrings.capitalizeの両方を試して、remoteUserNameを大文字にしようとしました。

http://incubator.apache.org/ognl/にある OGNL ドキュメントの残りをさまよってみると、このようにすぐに大文字にする方法がわかりません。

では、struts 2 タグを使用するときに大文字にする構文は何ですか?

編集:

私が思いついたのは、単語の最初の文字だけを大文字にすることでした。本当に、単語の各文字を大文字にしたいと思います。

4

1 に答える 1

5

com.opensymphony.xwork2.inject.util.Strings の使用例を次に示します (テスト済み)。

<s:property value="@com.opensymphony.xwork2.inject.util.Strings@capitalize(myString)"/>

これには、静的メソッド呼び出しを有効にする必要があります。これを行うには、単純に追加します。

<struts>
    <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> 
</struts>

struts.xml に

編集:他の人が知っているように(おそらくすでに知っているでしょう)、java.lang.Stringのメソッドのいずれかを使用できます。つまり、 myString.toUpperCase() は有効な式であり、正規表現と java.lang.String を使用できますメソッドreplaceFirstまたはreplaceAllを使用して、目的の結果を実現します。

com.opensymphony.xwork2.inject.util.Strings の大文字化メソッドがニーズを満たさない場合、この質問には役立つ可能性のある他のメソッドが含まれています:文字列内の各単語の最初の文字を大文字にする方法

于 2011-06-29T18:24:04.173 に答える