我只是看不到它。我想做相同的以下内容:
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标签时,大写的语法是什么呢?
修改
我意识到我提出的想法是将这个词的第一个字母大写。真的,我希望单词中的每个字符都大写。
答案 0 :(得分: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 capitalize 方法无法满足您的需求,则此问题涵盖了其他可能有用的方法:How to capitalize the first character of each word in a string