1

是否可以在JSF 标签<option>呈现的元素中显示图像?<h:selectOneMenu>

<f:selectItems>用来生成从数据库中获得的选项。但我要显示的内容<h:selectOneMenu>是与每个项目关联的图像。

我怎样才能做到这一点?

4

1 回答 1

3

在 JSF 的<h:selectOneMenu>//<f:selectItem>中嵌入图像是不可能的<f:selectItems>,因为没有为此目的设计的属性。此外,几乎没有跨浏览器兼容的解决方案

尽管您可以为此使用组件库,例如 PrimeFaces。它的<p:selectOneMenu>组件基本上用一些 HTML/jQuery 魔术包装<select>/ <option>,以便在屏幕上显示“替代”。示例用法可以在展示示例中找到。背诵它:

<p:selectOneMenu value="#{autoCompleteBean.selectedPlayer2}" converter="player" var="p">  
    <f:selectItem itemLabel="Select One" itemValue="" />  
    <f:selectItems value="#{autoCompleteBean.players}" var="player" itemLabel="#{player.name}" itemValue="#{player}"/>  

    <p:column>  
        <p:graphicImage value="/images/barca/#{p.photo}" width="40" height="50"/>  
    </p:column>  

    <p:column>  
        #{p.name} - #{p.number}  
    </p:column>  
</p:selectOneMenu>  

当然,您可以以不同的方式加载图像。

于 2013-05-06T20:30:47.287 回答