2009-10-29 34 views
3

从另一个question获得很好的回答我已经开始在我的WebApplication的init()方法中安装全局资源(css/js/images)。使用下列内容:使用Wicket在CSS中引用图像

mountSharedResource("/images/edit-btn.gif", new ResourceReference(GlobalResource.class, "edit-btn.gif").getSharedResourceKey()); 

这当然让CSS在另一包做这样的事情:

background-image: url("/images/edit-btn.gif"); 

我所遇到的问题是,在运行时,这个唯一的作品,已安装的路径是虚拟。其中一个检票(IMO)的一大好处是它允许一个网页设计师的布局工作,能够与它的图像,JS,CSS等,以可视化的页面功能(<wicket:remove>,XML有效的标签,头链接,页面继承)而无需在检票机内运行。

我完全易接受的事实,从来就没有在Web应用程序的设计师/程序员角色之间明确的界限,但似乎奇怪,我的检票设计师错过了这个。有没有什么办法可以允许全局使用的图像在Wicket运行时独立渲染以及工作?

回答

2

我觉得the recommended way是从你的设计师采取的HTML和上交进入检票口组件 - 这意味着你将它分割成多个文件。没有任何额外的努力,渲染这些部分文件将无法正常工作。我建议设置一个简单的脚本,工具或任何沿着这些线开始您的web应用程序的设计师工作。这样,他们可以修改碎片并立即看到更新的渲染。你必须同意一个共同的结构,并告诉他们如何使用<wicket:remove>,你应该没问题。

+0

严,我不是超级高兴的是解决方案,但它的唯一的事我已经得到了工作。我现在有一个小脚本可以运行测试它。 – Scanningcrew 2009-10-30 01:01:15

+0

作为一个附加的想法,你可以wicketstuff归并资源的资源预处理功能改变pathes在CSS文件上运行(例如,从“编辑btn.gif”到“/images/edit-btn.gif”)。虽然我不会真的推荐。 – sfussenegger 2009-10-30 07:21:40