У меня есть проект Play 2.5 Java, с которым связано множество шаблонов (т.е. файлов * .scala.html).
Я пытаюсь обновить проект с 2.5 до 2.6, но проект больше не компилируется.
Сегменты кода обычно выглядят так
@(user: models.User)
@import play.api.Play.current
@play.api.cache.Cache.getOrElse("header" + user.getId(), 3600) {
...
}
и трассировка ошибок
[error] head.scala.html:3: object Cache is not a member of package play.api.cache
[error] @play.api.cache.Cache.getOrElse("header" + user.getId(), 3600) {
[error] ^
Документация Play предлагает использовать взамен «play.cache.SyncCacheApi», т.е.
https://www.playframework.com/documentation/2.6.x/CacheMigration26
но этот API НЕ включает эквивалентную функцию getOrElse (), самая близкая, которую я смог найти, была
T getOrElseUpdate (строковый ключ, вызываемый блок, int expiration);
который я не могу понять, как использовать в шаблоне.
Другая часть документации Play предполагает, что я использую Injectable Twirl Templates, т.е.
https://www.playframework.com/documentation/2.6.x/Highlights26#Injectable-Twirl-Templates
что еще более сбивает с толку, и это все еще не касается, какую функцию переоткрытия я использую для
getOrElse в моих шаблонах.
Если у кого-то есть рабочий пример функции замены для play.api.cache.Cache.getOrElse ()
это было бы очень полезно.