我正在使用JSF,我想与h:outputFormat
类似地参数化命令按钮的文本。
像
这样的东西<h:commandButton value="Text {0} some more text" [...] >
目前我
<h:commandButton value="Text #{bean.value()} some more text" [...] >
但这使我每次有参数
时将所有存储为属性的文本分成两部分<h:commandButton value="#{msg.textbefore} #{bean.value()} #{msg.textafter}" [...] >
任何提示?
答案 0 :(得分:1)
我们使用JSF 1.2,并且已经在我们自己的自定义taglib
中定义了一个方法。
<h:commandButton value="#{g:formatMessage('Text {0} some more text', bean.value)}" >
其中g:
我们定义的名称空间。
xmlns:g="http://www.client.com/product"
taglib已在web.xml
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>
PATH_TO_CUSTOM_TAGLIB;/WEB-INF/tomahawk.taglib.xml;
</param-value>
</context-param>
并且该方法在taglib中定义为:
<function>
<function-name>formatMessage</function-name>
<function-class>com.XXX.XXX.XXX.JavaClass</function-class>
<function-signature>java.lang.String formatMessage(java.lang.String, java.lang.String)</function-signature>
</function>