Использование слова в Struts2 / OGNL с большой буквы - PullRequest
4 голосов
/ 29 июня 2011

Я просто не вижу этого.Я хочу сделать эквивалент следующего:

listValue="%{capitalize(remoteUserName)}"

внутри тега s:select.

В соответствии с документацией о стойках http://struts.apache.org/2.0.11.2/struts2-core/apidocs/com/opensymphony/xwork2/inject/util/Strings.html существует функция использования заглавных букв.Я пробовал как выше, так и Strings.capitalize, чтобы попытаться использовать прописное имя в удаленном виде.

Бродя по тому, что осталось от документации OGNL по адресу http://incubator.apache.org/ognl/, Я не вижу способа сразу же воспользоваться этим способом.

Так какой же будет синтаксис для использования заглавных букв при использовании тегов Struts 2?

EDIT:

Я понимаю, что выдвинутая мной идеяиспользовать только первую букву слова.Действительно, я хотел бы, чтобы каждый символ в слове начинался с заглавной буквы.

1 Ответ

5 голосов
/ 29 июня 2011

Вот пример использования 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 Использование заглавных букв метод не соответствует вашим потребностям, этот вопрос охватывает другие методы, которые могут быть полезны: Как использовать заглавные буквы для первого символакаждого слова в строке

...