使用 IntelliJ IDEA 进行调试时如何解析 JSP 中的 Spring 模型变量?
Posted
技术标签:
【中文标题】使用 IntelliJ IDEA 进行调试时如何解析 JSP 中的 Spring 模型变量?【英文标题】:How do I resolve Spring model variables in a JSP when debugging with IntelliJ IDEA? 【发布时间】:2015-05-27 10:52:54 【问题描述】:通过 IntelliJ IDEA(终极版)运行 Tomcat 应用程序时,我在 JSP 中设置了断点。到目前为止一切顺利,我可以按预期单步执行 JSP。
问题是:调试时无法解析$path
等Spring模型变量。 Evaluate Expression 触发错误:“Cannot find variable 'path'”。
作为一种解决方法,我可以使用<c:set var="testPath" value="$path">
显式引用模型值。这样我可以在 Variables » _jspx_page_context » 属性 中看到 testPath
,但看不到 path
。
【问题讨论】:
请同时添加代码。 也许你想看看这个:***.com/questions/14878548/… 试试这些 1. [***.com/questions/33739/… 2. [***.com/questions/12694392/… [1]: ***.com/questions/33739/… [2]: ***.com/questions/12694392/… AdityaSingh & @Saidolim:这些都与我的问题无关,因为我实际上能够调试 JSP。 【参考方案1】:这只是一种变通方法,当然不是最佳做法。但是,如果您需要快速而肮脏的东西,请将另一个 String var 设置为您的 $path 参数。调试器将能够在运行时看到该新变量。
【讨论】:
【参考方案2】:变量path
是Spring Framework 的一部分,被设置为PageContext 的一个属性,调试此类变量的方法很少。
对我来说,最好的解决方案是在手表视图中添加一个表达式:pageContext.findAttribute("path")
或 _jspx_page_context.findAttribute("path")
没关系,因为它们都指向同一个运行时对象:
【讨论】:
谢谢!pageContext
在我的变量视图中不可用,但 _jspx_page_context
工作正常。
@neu242 好吧,不知道。认为 pageContext 对所有人都是可见的。感谢您的回复。
不错的答案!我有类似的需求,但使用的是 Eclipse 而不是 IntelliJ。这个答案有所帮助,尽管在 Eclipse 中似乎更难获取信息(但幸运的是仍然可能):需要转到变量视图,然后展开 _jspx_page_context - pageAttributes - table
,然后单独打开每个映射索引并检查键/值每个人。以上是关于使用 IntelliJ IDEA 进行调试时如何解析 JSP 中的 Spring 模型变量?的主要内容,如果未能解决你的问题,请参考以下文章
[JavaWeb]_[初级]_[使用IntelliJ IDEA进行远程Tomcat调试]
在 AppCode 中调试 Intellij Idea 插件