我有一個f:selectitem與它的itemLabel,我想渲染標籤,使它變得「漂亮」!jsf2 f:selectItem itemLabel complex i18n render
問題:
<p:selectOneRadio id="selectRadio" value="#{somebean.somevalue}" layout="pageDirection" >
<f:selectItem itemLabel="#{msg['message.1']}" itemValue="1" />
<f:selectItem itemLabel="#{msg['message.2']}" itemValue="2" />
</p:selectOneRadio>
我的國際化屬性文件:
message.1=some message by {0}
message.2=another message by {0}
我想做的事情由#{} somebean.theUser一個內聯替換{0} 結果應該是像這樣(包括粗體):
some message by <b>HUSTON</b>
在標籤文件中,我應該做這樣的事情(或類似的方式)
<f:selectItem itemLabel="#{msg['message.1']{'<b>'+somebean.theUser+'</b>'}}" itemValue="1" />
換句話說,我希望將國際化字符串替換PARAM直接添加到itemLabel標籤。
我試着用<f:facet name="itemLabel">
但沒有。
有人可以幫助我嗎?
謝謝諮詢,
Agharta
@BalusC:通常情況下,我不會和你爭論,但在這種情況下,我必須這樣做。如果你知道如何可靠地傳遞一個參數給selectItem的標籤,請不要猶豫,把你的答案。在一般情況下,我知道如何在JSF中格式化消息。但從我的經驗來看,它不適用於嵌入式案例(比如這個)。至於getBundle()的路徑,它只是表明你應該在這裏放置一個有效的路徑。是的,這是類路徑位置,所以你可能期望「。」作爲分隔符......那麼,我發現a)斜線作品b)經常效果更好。奇怪,但是是真的。 – 2012-08-15 14:49:07