我正在使用 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 检查了代码:
如果我用谷歌浏览器打开日历,它看起来是这样的:
那么如何才能正确轻松地显示图像呢?
更新 :
目前我使用不推荐使用的方法。首先,我需要添加在 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/"
现在看起来如此......: