如何在调试JSP页面时评估JSTL EL表达式?

时间:2016-03-23 09:47:17

标签: jsp jstl el

假设我在JSP页面中设置了断点。调试器已在该行停止。如何在调试会话中评估JSTL EL表达式,而不是每次更改表达式时将结果发送到浏览器? 我使用IntelliJ IDEA。习惯性的ALT + F8' (评估窗口)不起作用。

UPD:在other帖子中,提问者说“调试器永远不会出现问题'断点。但在我的情况下,执行会停止,但我不知道如何评估EL表达式而不将结果发送到浏览器。

1 个答案:

答案 0 :(得分:0)

根据我的JSP文件调查Tomcat生成的类的代码后,我找到了两种方法:

  1. 如果您只想检查EL表达式中使用的请求参数的值,可以在“评估表达式”窗口中键入以下内容:
    ((PageContext) pageContext).findAttribute("paramName")
    javax.servlet.jsp.PageContext 类的其他“get”方法,而不是 findAttribute()
  2. 如果要评估确切的表达式,请输入以下内容:
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${yourExpressionHere}", java.lang.String.class, _jspx_page_context, null, false)
    但在你必须将Tomcat的库 jasper.jar 添加到项目中之前。 Tomcat的API文档中描述了类 org.apache.jasper.runtime.PageContextImpl