使用 IntelliJ IDEA 调试时如何解析 JSP 中的 Spring 模型变量?

How do I resolve Spring model variables in a JSP when debugging with IntelliJ IDEA?

我已经通过 IntelliJ IDEA(终极版)在 JSP 当 运行 一个 Tomcat 应用程序时设置了一个断点。到目前为止一切顺利,我可以按预期逐步完成 JSP。

问题是:调试时无法解析Spring模型变量,如${path}计算表达式 触发错误:"Cannot find variable 'path'".

作为解决方法,我可以使用 <c:set var="testPath" value="${path}"> 明确引用模型值。这样我就可以在 Variables » _jspx_page_context » attributes 中看到 testPath,但看不到 path.

这只是一种解决方法,当然不是最佳做法。但是,如果您需要快速而肮脏的东西,请将另一个 String var 设置为您的 $path 参数。调试器将能够在运行时看到该新变量。

变量 path 是 Spring 框架的一部分,并设置为 PageContext 的一个属性,调试此类变量的方法很少。

对我来说,最好的解决方案是在您的手表视图中添加一个表达式:pageContext.findAttribute("path")_jspx_page_context.findAttribute("path")

没关系,因为它们都指向同一个运行时对象: