2

我正在使用 Tapestry 5.3.1 开发应用程序

我曾尝试使用 MVC 资源映射来缓存图像,但它不起作用!

这是我的编码:

上下文xml配置:

<mvc:resources mapping="/images/**" location="file:${catalina.home}/props/" cache-period="1234" />
<mvc:annotation-driven />

索引.tml:

<img src="/images/home.jpg"  width="130" />

我在 tomcat catalina home path props 文件夹中有这个 home.jpg 文件。

应用程序运行成功,但是图像没有加载!!

谁能帮我?

4

2 回答 2

2

实际上,您最好的选择如下:

<img src="${context:images/home.jpg}"/>

这是具有动态属性的标准 <img> 标记。

"context:" 是一个绑定前缀;它决定如何解释字符串的其余部分。这里是上下文根下文件的路径。

您在浏览器中看到的src属性会因 Tapestry 的版本而异;它将是一个通过 Tapestry 路由的 URL,并获得一个远期过期标头 (5.3) 和一个 ETag (5.4)。URL 将包含应用程序范围的版本号 (5.3) 或基于文件内容的校验和 (5.4)。

此外,Tapestry 中有一些挂钩可以将 URL 转换为对 CDN(内容交付网络)的引用。

换句话说,我们告诉浏览器它应该缓存该值并且不再请求它。这对于可扩展性和性能非常重要。

我不知道 mvc:/Spring 的东西应该做什么,但它可能不像 Tapestry 那样实用。

于 2013-05-17T21:39:43.943 回答
0

Try this :

<img src="${pageContext.request.contextPath}/images/home.jpg"  width="130" />
于 2013-05-16T12:31:47.513 回答