0

我对 Wicket 中的图像相对路径和未安装页面有一点问题。

将此代码放入通用页面(例如 MyPage.java)中:

final DatePicker<Date> date = new DatePicker<Date>("date",true);
date.setButtonImage("img/calendar.gif");

img目录存储在WebContent目录中。

除非我在 WebApplication 中安装页面,否则图像无法正确显示。在不挂载页面的情况下,必须考虑从 java 类路径开始的相对 url。

如何在不安装页面的情况下从 WebContent 构建正确的图像 url?

谢谢

4

2 回答 2

4

如果您需要可以使用的路径

date.setButtonImage(UrlUtils.rewriteToContextRelative("img/calendar.gif", getRequestCycle()));

这就是ContextImage的工作原理。如果您的 DatePicker 将接受另一个组件作为图像,您可以直接使用此类。

于 2012-08-21T11:27:54.000 回答
0

在google上搜索后,我找到了一个简单的解决方案。

ServletContext servletContext = WebApplication.get().getServletContext();
String contextPath = servletContext.getContextPath();

接着

date.setButtonImage(contextPath+"/img/calendar.gif");
于 2012-08-21T10:44:37.830 回答