我在显示静态图像的资产组件里面,我不知道,直到运行时的形象应该是什么,所以我需要动态生成的URL。 这些图像都生活在webapp/images/
我发现的文件是不是在如何处理这个用例很清楚,但玩了后,我想通了,我可以在像这样的组件模板动态构建的网址:
<img src="${context:img/score/overall}/${imageFilename}" />
然后把用于该图像中的分量类文件以显示的逻辑:
public String getImageFilename() {
// decide which image to display and return the filename
}
所以这个工作,但它不是最干净的解决方案。 我真的不希望将URL基地串联到模板中的文件名 - 我宁愿构建成完整的URL在组件类,如下所示:
<img src="${imageUrl}" />
和
public String getImageURL() {
// build URL somehow like "context:" + "filePath" in template
}
所以我的问题是:有没有一个Java代码等价的context: ...
在简单地产生一个字符串基URL,我可以添加到我的文件路径网络申请上下文文件夹中的模板?
我可以看到这样做的一些明显的哈克方式从读取文档,像使用方案描述手动构建基本URL,或注入一个已知的静态图像作为Asset
从该网络应用程序的上下文的文件夹,并调用toClientURL()
以提取基URL。 但好像必须有一个很好的内置的方式在Java中做到这一点,特别是因为它是免费提供的模板中的扩展使用。
但谷歌的力气,我似乎无法找到如何做到这一点的任何地方!