JSF显示没有Button的图标

bvb*_*909 6 jsf primefaces

嗨,大家好,我想显示没有按钮的图标,但它不起作用.我收到以下消息:找不到Mime-Type.这两个图标是Primefaces的默认图标.

我使用JSF 2.1和primefaces 3.5

<h:graphicImage rendered="#{!task.IS_SEEN}" name="ui-icon-mail-closed"/>
<h:graphicImage rendered="#{task.IS_SEEN}" name="ui-icon-mail-closed"/>
Run Code Online (Sandbox Code Playgroud)

如果我使用按钮它会工作或我可以设置按钮无法按下

<p:commandButton rendered="#{!task.IS_SEEN}" icon="ui-icon-mail-closed" />
<p:commandButton rendered="#{task.IS_SEEN}" icon="ui-icon-mail-open" />
Run Code Online (Sandbox Code Playgroud)

elb*_*ild 15

如果你只想要一个可以在支持bean中触发动作的可点击图像,我建议将图形图像包装在一个h:commandLink.

<h:commandLink rendered="#{!task.IS_SEEN}" value="" action="#{YourBean.myAction}">
    <h:graphicImage  value="your-image-here"/>
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)

如果你想要易于使用,漂亮,矢量图标,我建议你检查字体真棒http://fontawesome.io/icons/.

要使用Font Awesome,只需在以下行中包含以下行<h:head>:

<link href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" rel="stylesheet"></link>
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过这种简单的方式轻松地将图标放在commandLinks中:

<h:commandLink rendered="#{!task.IS_SEEN}" value="" action="#{YourBean.myAction}">
    <i class="fa fa-envelope"></i>
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)


0x5*_*a4d 9

你还需要像这样指定css class ui-icon:

<h:panelGroup styleClass="ui-icon ui-icon-mail-closed" />
Run Code Online (Sandbox Code Playgroud)