2015-08-17 1 views
2

Я создаю веб-приложение на Java, используя Play! Framework и Twirl, используя IntelliJ IDEA. В шаблоне есть несколько неявных переменных, которые доступны (flash, session, requestHeader). Я могу успешно ссылаться на любую из этих переменных, и мое приложение будет компилироваться и работать как ожидалось. Однако, поскольку эти переменные не были явно объявлены, IDEA показывает ошибку (например, не может разрешить мигание символов) и не предоставляет никакой помощи по коду. Хотя это не огромная проблема, я хотел бы исправить это, если это возможно.Кодовая помощь в IntelliJ IDEA для неявных переменных в шаблоне Twirl

Я нашел немало для решения, и JetBrains blog имеет сообщение о том, как это сделать для шаблонов Velocity, если кто-то может помочь мне сделать то же самое для шаблонов Twirl, я был бы очень благодарен!

Джексон

ответ

0

Я нашел решение этой проблемы, которая должна ссылаться на полное имя в коде, то есть. чтобы получить доступ к переменной флэш использовать

@play.mvc.Http.Context.Implicit.flash 

Это также может быть импортирован в верхней части шаблона, то вы можете просто обратиться к @flash в коде.

Это не обязательно. Играйте! знает об этих переменных, явно не импортируя их, это просто для ИДЕЯ. Как ни странно, я обнаружил, что после создания нового проекта через IDEA он действительно обеспечил ожидаемое поведение - я мог бы просто использовать @flash без импорта, а IDEA работал бы так, как ожидалось. Однако, как только я закрыл и снова открыл проект, возникла бы такая же проблема.

На данный момент это лучшее решение, которое я нашел, хотя я связался с поддержкой IntelliJ, и если они предлагают лучшее решение, я соответственно обновлю свой ответ.

Смежные вопросы