我在瀏覽以找到很長時間的解決方案,但我沒有找到合適的答案。 我正在開發一個使用RichFaces庫的JSF Web應用程序。應用程序支持不同的區域設置,用戶可以通過從下拉列表中進行選擇來更改它們。 我希望下拉列表中的項目沿區域名稱有一個標誌圖標。帶有標誌圖標的JSF RichFaces語言環境下拉列表
不幸的是,我找不到用JSF做到這一點的方法。
的下拉列表中的代碼使用xhtml是:
<h:panelGroup>
<h:form id="languageForm" prependId="false">
<h:outputText value="#{usermsg['locale.select.message']}" styleClass="userMessage"/>
<h:selectOneMenu id="dropdown" value="#{localeBean.selectedLocale}" onchange="submit()">
<f:selectItems value="#{localeBean.locales}" />
</h:selectOneMenu>
</h:form>
</h:panelGroup>
國旗圖標簡單地與普通的HTML和JQuery做,像我在這裏找到:http://www.ixtendo.com/polyglot-language-switcher-jquery-plugin/
爲了把圖標下拉列表列表項,我也要用CSS在列表中的每個元素,如:這裏
#en {
background-image: url(/resources/images/flags/gb.png);
}
#fr {
background-image: url(/resources/images/flags/fr.png);
}
的問題是:
- f:selectItems(以及f:selectItem)似乎不支持style屬性。
- 我可以使用JavaScript將樣式應用於標籤,但我需要標籤的ID,而f:selectItem(似乎)也不允許。
我想要的另一件事是使用上面鏈接中提到的JQuery控件,但這裏是另一個問題:如何將所選選項的值設置爲JSF bean。換句話說,我可以通過JQuery或Javascript和純HTML設置#{localeBean.selectedLocale}嗎?
我發現PrimeFaces有selectOneMenu用於控制,其允許添加圖標http://www.primefaces.org/showcase/ui/selectOneMenu.jsf(在一個名爲「內容與過濾器」) 但我affraid,我們不能從RichFaces的此刻切換到PrimeFaces。
任何幫助表示讚賞。
我建議你也可以在Rich Faces論壇上提問你的問題:https://community.jboss.org/en/richfaces你想要做的事很簡單,但可以肯定的是開發者需要一隻手。當你得到它時,粘貼你的答案。 – 2013-04-05 14:44:53
您使用的是JSF 1.2 + RichFaces 3.x或JSF 2.x + RichFaces 4.x嗎? – 2013-04-06 12:52:34
Luiggi Mendoza,我正在使用JSF 2.x + RichFaces 4.x – 2013-04-06 16:05:18