我正在为客户做一些工作,他们有一个共同的web标签jar文件项目,他们在各种项目中使用。他们要求我制作一个页眉和页脚标签,他们可以在项目中使用类似......的标签。
<pageElements:header/>
它的自定义标记方面很简单,我创建了一个标题标记,它提供了包含一些文本的样板标记。
我遇到的问题是他们想要在jar中打包一些图像来处理徽标等事情。显然,如果我提出类似的东西......
<img alt="logo" src="images/logo.png"/>
...在标记中它被正确呈现,但在项目的上下文中查看正在使用图像的标记。它不存在,因为它位于包含标记定义的jar文件中的resources / images目录中。
有没有人知道我可以在包含标签定义的jar文件中打包图像的方法,然后在标签中引用它,以便在项目使用标签时...
<pageElements:header/>
...它正确呈现文本和图像?
基本上我需要知道的是jar文件中应该保留图像的位置以及如何在定义标记内容的tagx文件中引用它们。
非常感谢,
标记
答案 0 :(得分:0)
servlet 3.0规范说:
此层次结构的根用作文件的文档根 是应用程序的一部分。例如,对于具有的Web应用程序 Web容器中的上下文路径/目录,index.html文件位于 Web应用程序层次结构的基础或内部的JAR文件 WEB-INF / lib,包括META-INF / resources下的index.html 可以提供目录以满足/catalog/index.html的请求。 如果index.html同时存在于根上下文和 WEB-INF / lib中JAR文件的META-INF / resources目录 应用程序的目录,然后是可用的文件 必须使用根上下文。
所以你可以把你的图像放在你的罐子里,在META-INF /资源下,它们就像是直接参与战争一样。
规范的早期版本不提供这种可能性,因此您必须使用servlet或过滤器来实现它。 Spring MVC和Struts2本身就提供了这种功能。我不知道其他框架。