我快速浏览了一下代码。
http://kickjava.com/src/groovy/servlet/TemplateServlet.java.htm
我有一种感觉,即.gsp页面在内存中被翻译为.groovy servlets(groovlets)(我可能错了)...
因此,也许调试gsp并不像我想的那么容易...
那么,有人可以告诉我如何做吗?
注:通过调试,我的意思是浏览代码步骤,检查变量,添加监视器以及所有这些类型的操作,显然不是(不太好的)旧printf方法...
http://kickjava.com/src/groovy/servlet/TemplateServlet.java.htm
我有一种感觉,即.gsp页面在内存中被翻译为.groovy servlets(groovlets)(我可能错了)...
因此,也许调试gsp并不像我想的那么容易...
那么,有人可以告诉我如何做吗?
注:通过调试,我的意思是浏览代码步骤,检查变量,添加监视器以及所有这些类型的操作,显然不是(不太好的)旧printf方法...
你的GSP中大部分逻辑应该封装在TagLibs中,而且你可以像任何其他Groovy代码一样方便地通过IntelliJ进行调试。
如果你的GSP中有很多脚本代码(其实不应该有的),并且想要调试它们,除了使用println
之外,你别无选择。另一种可能是查看为你的GSP生成的Groovy代码的源代码。这可以通过在URL末尾添加showSource
参数来完成,如此处所述。
static def debugme(def param) { def a = param }
,并从gsp代码中调用它:<% ThisController.debugme(this) %>
或<% ThisController.debugme(params) %>
。(你知道在编辑控制器或视图后不必重新启动应用程序,对吧?)在Config.groovy中添加一个设置,生成的gsp文件将被写入一个目录:grails.views.gsp.keepgenerateddir='/some/existing/directory'(目标目录必须存在且可写)
更多信息: http://jira.codehaus.org/browse/GRAILS-4422
可以使用标准Java调试器调试生成的Groovy代码。我很久以前就这样做了(当我创建补丁到Grails时),我认为我使用jswat (http://code.google.com/p/jswat/) 调试gsps。我无法让eclipse找到源文件,但现在Spring Tool Suite Eclipse可能已经可以了。 您必须逐步/逐步进入调试Groovy代码,并使用过滤器,否则您可能会失去步骤点(因为闭包?)。那已经是另一回事了...