我正在使用 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 主路径 props 文件夹中有这个 home.jpg 文件。
应用程序成功运行,但图像未加载!!
有人可以帮助我吗?
最佳答案
实际上,您最好的选择如下:
<img src="${context:images/home.jpg}"/>
这是一个标准 标记,具有动态 属性。
“context:”是绑定(bind)前缀;它决定如何解释字符串的其余部分。这里是上下文根目录下文件的路径。
您在浏览器中看到的 src
属性将根据 Tapestry 版本的不同而有所不同;它将是一个通过 Tapestry 路由的 URL,并获取一个远期过期 header (5.3) 和一个 ETag (5.4)。 URL 将包含应用程序范围的版本号 (5.3) 或基于文件内容的校验和 (5.4)。
此外,Tapestry 中还有一些 Hook 可以将 URL 转换为对 CDN(内容分发网络)的引用。
换句话说,我们告诉浏览器它应该缓存该值并且不再请求它。这对于可扩展性和性能非常重要。
我不知道 mvc:/Spring 的东西应该做什么,但它可能不会像 Tapestry 那样功能强大。
关于spring-mvc - 如何在tapestry中使用Spring MVC资源静态图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16586874/