В моем шаблоне есть немного кода, подобного этому:
#{list people, as:'person'}
<img src="@@{Application.image(person.id)}">
#{/list}
После запуска сервера воспроизведения в списке отображается первое изображение несколько раз.Так, например, если переменная people содержит идентификаторы 1, 2, 3, 4, 5 - тогда будет показано пять изображений, но все они одного и того же: это изображение, соответствующее идентификатору 1.
Если я нажму кнопку обновить, все изображения изменятся на уникальные в зависимости от их идентификаторов.HTML-код из шаблона выглядит следующим образом:
<img src="http://url/application/image?personId=1"/>
<img src="http://url/application/image?personId=2"/>
<img src="http://url/application/image?personId=3"/>
<img src="http://url/application/image?personId=4"/>
<img src="http://url/application/image?personId=5"/>
Как я могу запретить шаблону показывать одно и то же изображение в первый раз?
Редактировать: Также пробовалдобавление заголовков ответов, показанных ниже, до вызова renderBinary (image) в моем контроллере, который отвечает на запрос src:
...
response.setHeader("Pragma-directive", "no-cache");
response.setHeader("Cache-directive", "no-cache");
response.setHeader("Cache-control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setHeader("Expires", "0");
renderBinary(imageFile);
согласно этой записи .Фактически это работало первые пару раз, но затем, в третий раз после остановки и запуска сервера Play, у меня возникла та же проблема с кэшированием, когда все изображения показывали одно и то же изображение, несмотря на разные идентификаторы персон.Я также безуспешно добавил метку времени в конец URL.
Редактирование # 2: Я также попытался изменить свойство http.cacheControl на 0 в application.conf:
http.cacheControl=0
Но это снова дало мне непоследовательные результаты относительно того, показали ли это правильные или неправильные изображения.