私はicefacesポップアップカレンダーを使用しています。私の問題は、画像が見つからなかったことです。既知のバグのようです。
ならどうしよう?これは、icefaces api が selectInputDate について教えてくれたものです。
画像ディレクトリ:
ボタン画像の場所のディレクトリを設定します。非推奨。代わりに styleClass を使用してください。ボタンのスタイル クラス名は、styleClass 名と定義済みの名前で構成されます。たとえば、styleClass 名が「myCalendar」の場合、ボタン クラス名は myCalendarMovePrev、myCalendarMoveNext、myCalendarOpenPopup、myCalendarClosePopup になります。background-image プロパティで画像をオーバーライドします。
ただし、生成された入力フィールドは「src」を使用するタイプの画像であるため、背景画像の上書きは機能しません。
<ice:selectInputDate styleClass="iceCal" id="detailFrist" value="#{ticketDetailListBean.ticket.frist}" label="Fällig bis" labelPosition="left" requiredIndicator="(*)" required="true" indicatorPosition="right"
renderAsPopup="true" validator="de.xxxxx.validator.TicketFristValidator">
<f:converter converterId="de.xxxxx.converter.MultiDateConverter" />
<f:attribute name="pattern1" value="dd.MM.yyyy" />
<f:attribute name="pattern2" value="ddMMyyyy" />
<f:attribute name="pattern3" value="dd.MM" />
<f:attribute name="pattern4" value="ddMM" />
</ice:selectInputDate>
.iceCalMovePrev {
background-image:url(../images/icons_opensource/arrow-down.png);
background-repeat:none;
}
.iceCalMoveNext {
background-image:url(../images/icons_opensource/arrow-down.png);
background-repeat:none;
}
.iceCalMoveOpenPopup {
background-image:url(../images/icons_opensource/arrow-down.png);
background-repeat:none;
}
.iceCalClosePopup {
background-image:url(../images/icons_opensource/arrow-down.png);
background-repeat:none;
}
私はSafariでコードを調べました:
Google Chrome でカレンダーを開くと、次のようになります。
では、画像を正しく簡単に表示するにはどうすればよいでしょうか。
アップデート :
現時点では、非推奨の方法を使用しています。最初に、web.xml で宣言されている Resource Servlet を追加する必要があります。
<servlet>
<servlet-name>Resource Servlet</servlet-name>
<servlet-class>com.icesoft.faces.webapp.CompatResourceServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Resource Servlet</servlet-name>
<url-pattern>/xmlhttp/*</url-pattern>
</servlet-mapping>
Icon Bug はまだ生きています...しかし、現在はエラーもアイコンも表示されていません。
imageDir="/xmlhttp/css/rime/css-images/"
それは今そう見えています... :