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>

最初はサイズが正しいのですが、画像の代わりに「SubmitQuery」が表示されます。第二に、私は同じ問題を抱えています。

「クエリの送信」をレンダリングするのはなぜですか?そして、value = ""を追加すると、アイコンは表示されず、空のボックスだけが表示されます。

ダン

4

1 に答える 1

1

これは、属性が省略された場合のHTML<input type="submit">要素のbrowser-default値です。valueこれはJSFによって生成されません。プレーンなHTMLページでこのようなHTML要素を試してみてください。

value属性が存在するときに属性を追加するとimage空のボックスが表示される理由については、MyFaces固有である可能性があります。クロサギでは再現できません。

背景画像を表示するために属性を(ab)使用するimageことに関しては、これは結局のところ完全に正しいわけではありません。background-image代わりにCSSプロパティを使用する必要があります。

<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 に答える