将自定义jsp标记与图像封装在一起

时间:2012-01-20 16:53:58

标签: java jsp tags jsp-tags

我正在为客户做一些工作,他们有一个共同的web标签jar文件项目,他们在各种项目中使用。他们要求我制作一个页眉和页脚标签,他们可以在项目中使用类似......的标签。

<pageElements:header/>

它的自定义标记方面很简单,我创建了一个标题标记,它提供了包含一些文本的样板标记。

我遇到的问题是他们想要在jar中打包一些图像来处理徽标等事情。显然,如果我提出类似的东西......

<img alt="logo" src="images/logo.png"/>

...在标记中它被正确呈现,但在项目的上下文中查看正在使用图像的标记。它不存在,因为它位于包含标记定义的jar文件中的resources / images目录中。

有没有人知道我可以在包含标签定义的jar文件中打包图像的方法,然后在标签中引用它,以便在项目使用标签时...

<pageElements:header/>

...它正确呈现文本和图像?

基本上我需要知道的是jar文件中应该保留图像的位置以及如何在定义标记内容的tagx文件中引用它们。

非常感谢,

标记

1 个答案:

答案 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本身就提供了这种功能。我不知道其他框架。