2012-11-14 69 views
1

我有一個標籤H:selectOneMenu有點麻煩,我只是想添加一些背景圖像選項,如用戶的頭像。屬性上selectonemenu jsf

按照styling options in h:selectOneMenu - by balusC

我曾試圖渲染帶有自己風格的CSS選項。

<h:selectOneMenu id="dropListUser" 
     value="#{myController.myUserObject.userid}"> 
    <f:attribute name="avatar" value="#{true}"></f:attribute>       
    <f:attribute name="key" value="somthing"></f:attribute> 
    <f:attribute name="height" value="32"></f:attribute> 
    <f:attribute name="width" value="32"></f:attribute> 
    <f:selectItems value="#{myController.listOfUsers}" var="item" itemLabel="#{item.username}" itemValue="#{item.userid}"/> 
</h:selectOneMenu> 

它工作的偉大與高度,寬度和按鍵,但與化身(或任何屬性包含#{}表達式的值)服務器豆不能得到它。

嘗試印出所有鍵名:

​​

沒有與名稱分身無鑰匙:

-------------------------------- 
height 
javax.faces.component.VIEW_LOCATION_KEY 
com.sun.faces.facelets.MARK_ID 
key 
width 
width: 32 height: 32 style null?: true 
-------------------------------- 

PS:順便說一下,有沒有人知道如何創建自定義標籤庫是擴展h:selectOneMenu: - ?

PS2:在事實上,如果我能在我的自定義得到myController.listOfUsers<f:selectItems value="#{myController.listOfUsers}" var="item" itemLabel="#{item.username}" itemValue="#{item.userid}"/>渲染豆,它可以更好地

+0

是不是BalusC的那篇文章是正確的你在尋找什麼?他演示瞭如何擴展h:selectOneMen ... – Daniel

+0

是的,但我想要將諸如#{myController.myProps}的表達式作爲f:at貢品價值,而不是靜態價值......, – user1487380

+0

它是否適合你的靜態值?因爲如果是這樣,它應該與表達式 – Daniel

回答

1

汪,我不知道爲什麼或者怎麼樣,但是,當嘗試打印出所有的component.getAttributes()的關鍵名還component.getAttributes().containsKey("avatar")返回頭像不存在,但我真的可以得到頭像值,我的麻煩解決了^^「只是刪除代碼,檢查關鍵是否存在或不存在