0

奇怪的问题,我已经阅读了各种帖子,但还没有找到有效的答案。

当我有 ah:commandButton,我想在其中显示一个图标而不是文本时,我已经尝试过了。

<h:commandButton value=" " image="UpArrow.png" style="position: absolute; left: 36px; top: 17px; width: 18px; height: 18px; cursor: pointer;" title="Pan up" actionListener="#{SarWindsImagesBean.panUp('testImage.jpg')}">
    <f:ajax  render="imagePan2"/>
</h:commandButton>

<h:commandButton image="UpArrow.png" style="position: absolute; left: 36px; top: 17px; width: 18px; height: 18px; cursor: pointer;" title="Pan up" actionListener="#{SarWindsImagesBean.panUp('testImage.jpg')}">
    <f:ajax  render="imagePan2"/>
</h:commandButton>

首先,大小是正确的,但我得到的不是图像,而是“提交查询”。在第二个中,我遇到了同样的问题。

为什么会呈现“提交查询”?如果我添加 value=" ",它不会显示图标,只是一个空框。

4

1 回答 1

1

这是省略<input type="submit">该属性时 HTML 元素的浏览器默认值。value这不是由 JSF 生成的。在纯 HTML 页面中自己尝试使用这样的 HTML 元素。

至于为什么在属性存在value时添加image属性会导致空框,这可能是 MyFaces 特定的。我无法在 Mojarra 中复制它。

至于(ab)使用image属性来呈现背景图像,这毕竟不完全正确。您应该改用 CSSbackground-image属性,

<h:commandButton value=" " style="background-image: url(UpArrow.png)" />

或者只是<h:commandLink><h:graphicImage>如果您根本不想拥有按钮的外观:

<h:commandLink ...>
    <h:graphicImage value="UpArrow.png" />
</h:commandLink>
于 2012-11-27T18:38:49.837 回答