【问题标题】:attribute on selectonemenu jsfselectonemenu jsf上的属性
【发布时间】:2012-11-02 16:46:26
【问题描述】:

标签 h:selectOneMenu 有点麻烦,我只想在选项中添加一些背景图片,例如用户头像。

关注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>

它适用于高度、宽度和键,但对于头像(或任何包含带有 #{} 表达式的值的属性)服务器 bean 无法获取它。

尝试打印出所有键名:

Iterator itr = component.getAttributes().keySet().iterator();
        while(itr.hasNext()){
            System.out.println(itr.next().toString());
        }

没有名字为头像的钥匙:

--------------------------------
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&lt;f:selectItems value="#{myController.listOfUsers}" var="item" itemLabel="#{item.username}" itemValue="#{item.userid}"/&gt; 在我的自定义渲染 bean 中,它可能会更好

【问题讨论】:

  • BalusC 的那篇文章不正是您要找的吗?他演示了如何扩展 h:selectOneMen...
  • 是的,但我想将 #{myController.myProps} 等表达式作为 f:attribute 值而不是静态值...,
  • 它是否适用于您的静态值?因为 if is does ,它也应该与表达式一起使用
  • 嗯,正如我所说。静态值很好,但不适用于表达式,在服务器中找不到带有表达式的属性值。我打印出所有属性名称,但它不存在
  • &lt;f:selectItems value="#{myController.listOfUsers}" var="item" itemLabel="#{item.username}" itemValue="#{item.userid}"/&gt; 有什么问题

标签: css jsf-2 liferay custom-component renderer


【解决方案1】:

Woof,我不知道为什么或如何,但是当尝试从component.getAttributes()component.getAttributes().containsKey("avatar") 打印出所有键名时返回头像不存在,但我真的可以获得头像值,我的问题解决了^^" 只需删除检查密钥是否存在的代码

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2012-12-22
    • 1970-01-01
    • 2012-06-12
    相关资源
    最近更新 更多