是否可以在JSF 标签<option>
呈现的元素中显示图像?<h:selectOneMenu>
我<f:selectItems>
用来生成从数据库中获得的选项。但我要显示的内容<h:selectOneMenu>
是与每个项目关联的图像。
我怎样才能做到这一点?
是否可以在JSF 标签<option>
呈现的元素中显示图像?<h:selectOneMenu>
我<f:selectItems>
用来生成从数据库中获得的选项。但我要显示的内容<h:selectOneMenu>
是与每个项目关联的图像。
我怎样才能做到这一点?
在 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>
当然,您可以以不同的方式加载图像。