我在Wicket中的图像相对路径和未挂载的页面有一点问题。
将此代码放在通用页面(ex MyPage.java)中:
final DatePicker<Date> date = new DatePicker<Date>("date",true);
date.setButtonImage("img/calendar.gif");
img 目录存储在 WebContent 目录中。
除非我在WebApplication中挂载页面,否则无法正确显示图像。 在不安装页面的情况下,必须从java类路径开始考虑相对url。
如何在不安装页面的情况下从WebContent构建正确的图像URL?
由于
答案 0 :(得分:4)
如果您需要路径,可以使用
date.setButtonImage(UrlUtils.rewriteToContextRelative("img/calendar.gif", getRequestCycle()));
这就是ContextImage的工作方式。如果你的DatePicker接受另一个组件作为图像,你可以直接使用这个类。
答案 1 :(得分:0)
在谷歌搜索后,我找到了一个简单的解决方案。
ServletContext servletContext = WebApplication.get().getServletContext();
String contextPath = servletContext.getContextPath();
然后
date.setButtonImage(contextPath+"/img/calendar.gif");