Могу ли я получить Intellij Idea 10.5 для выполнения кода на переменных модели в общем шаблоне GSP? - PullRequest
1 голос
/ 17 января 2012

* Редактировать * Я не знал о функции «Добавить динамическое свойство» в Idea, это именно то, что я хотел.Спасибо, Сергей

Мне нравится тот факт, что Intelli-J распознает тип переменных, введенных в модель из общего контроллера, и позволяет выполнять автозаполнение прямо в GSP.

Например, если у меня есть контроллерmethod

def mymethod = {          
  MyDomain myDomainInstance = 
.... logic ...
[myDomainInstance: myDomainInstance]

}

В моем соответствующем mymethod.gsp Intelli-J будет автоматически завершать методы для $ {myDomainInstance} из bean-компонента MyDomain.

Однако рассмотрим общийшаблон, который использует тот же класс домена и может быть обработан с помощью

<g:render template="/shared/somesharedtemplate" model="['myDomainInstance': myDomainInstance]">

Когда я редактирую /shared/_somesharedtemplate.gsp, $ {myDomainInstance} не распознается как то, о чем Intelli-J знает (но, конечно,отлично работает, когда работает Grails).Есть ли какое-либо заявление или что-нибудь, что я могу добавить к GSP, чтобы намекнуть на это?

1 Ответ

3 голосов
/ 18 января 2012

Попробуйте удалить кавычки вокруг имени переменной в значении атрибута «модель».IDEA не распознает переменную модели, определенную внутри кавычек.Это ошибка: http://youtrack.jetbrains.net/issue/IDEA-80041.

Также вы можете добавить динамическое свойство 'myDomainInstance' для страницы _somesharedtemplate.gsp.Нажмите Alt + Enter на нераспознанной ссылке, затем выберите намерение «Добавить динамическое свойство» myDomainInstance ».

...