как отладить страницу gsp? (без грааля, просто gsp) - PullRequest
4 голосов
/ 30 октября 2009

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

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

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

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

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

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

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

Ответы [ 3 ]

6 голосов
/ 30 октября 2009

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

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

3 голосов
/ 10 декабря 2009

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

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

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

2 голосов
/ 23 февраля 2010

Добавьте параметр в 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. Я не смог получить eclipse для поиска исходных файлов, но вероятно, работает в Spring Tool Suite Eclipse в настоящее время. Вы должны отлаживать пошаговый код пошагово / пошагово и использовать фильтры, иначе вы можете потерять точку шага (из-за замыканий?). Это уже другая история ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...