как отладить страницу gsp? (без грааля, просто gsp)

StackOverflow https://stackoverflow.com/questions/1649339

  •  22-07-2019
  •  | 
  •  

Вопрос

Я пробовал с netbeans и eclipse, но не повезло ... (не могу попробовать идею IntelliJ)

Я быстро взглянул на код

http://kickjava.com/src/groovy/servlet/TemplateServlet. java.htm

и у меня создается впечатление, что .gsp-страницы переводятся в .groovy сервлеты (groovlets) в памяти (я могу ошибаться) ...

так что, возможно, отладка gsp не так проста, как я ...

так, кто-нибудь может сказать мне, как это сделать?

pd: Под отладкой я подразумеваю такие вещи, как пошаговый просмотр кода, проверка переменных, добавление часов и тому подобное, очевидно. Не старый (не очень) старый подход printf ...

Это было полезно?

Решение

Большая часть логики в ваших GSP должна быть инкапсулирована в TagLibs, и вы можете отлаживать их (по крайней мере, с IntelliJ) так же легко, как и любой другой код Groovy.

Если у вас есть много кода скриптлета в ваших GSP (чего не следует делать), и вы хотите отладить его, вы не можете сделать намного больше, чем println. Еще одна возможность - просмотреть исходный код Groovy, сгенерированный для вашего GSP. Это можно сделать, добавив параметр showSource к URL-адресу, как описано здесь .

Другие советы

Я использую хак: добавляю метод к любому контроллеру, например static def debugme(def param) { def a = param }, и вызываю его из кода gsp: <% ThisController.debugme(this) %> или <% ThisController.debugme(params) %>

(вы знаете, что вам не нужно перезапускать приложение после редактирования контроллера или представления, верно?)

Я также не думаю, что вся логика должна быть в taglibs: логика для конкретной страницы должна быть четко видна в контроллере или представлении. У нас большая часть логики в контроллерах или доменных классах.

Добавьте параметр в Config.groovy, и сгенерированные gsp-файлы будут записаны в каталог: grails.views.gsp.keepgenerateddir = '/ some / существующие / directory' (целевой каталог должен существовать и быть доступным для записи)

Дополнительная информация: http://jira.codehaus.org/browse/GRAILS-4422

Должна быть возможность отладки сгенерированного Groovy-кода с помощью стандартного отладчика Java. Это было давно, когда я это сделал (когда создавал патч для Grails), и я думаю, что использовал jswat ( http://code.google.com/p/jswat/ ) для отладки gsps. Я не мог получить затмение, чтобы найти исходные файлы, но это, вероятно, работает в Spring Tool Suite Eclipse в настоящее время. Вы должны отлаживать пошаговый код пошагово / пошагово и использовать фильтры, иначе вы можете потерять точку шага (из-за замыканий?). Это уже другая история ...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top