2016-03-23 5 views
1

Предположим, я установил точку останова на странице JSP. Отладчик остановился на этой линии. Как оценить выражение JSTL EL в сеансе отладки вместо отправки результата в браузер при каждом изменении выражения? Я использую IntelliJ IDEA. Привычный «ALT + F8» (окно оценки) не работает.Как вывести выражение JSTL EL при отладке страницы JSP?

UPD: in other thread the questioner сказал: «Отладчик никогда не ударяет по точкам останова. Но в моем случае выполнение останавливается, но я не знаю, как оценить выражение EL, не отправляя результат в браузер.

+0

Возможный дубликат [отладка JSP в IntelliJ IDEA] (http://stackoverflow.com/questions/33739/jsp-debugging-in-intellij-idea) – Peter

ответ

0

После изучения кода класса, порожденным Tomcat на основе моего файла JSP Я нашел 2 способ:

  1. Если вы хотите просто проверить значение запроса пар, используемых в выражении EL вы можете введите в окне «Вычислить выражение» следующее:
    ((PageContext) pageContext).findAttribute("paramName")
    или другой метод «получить» из javax.servlet.jsp.PageContext класса вместо findAttribute().
  2. Если вы хотите оценить точное выражение типа следующего:
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${yourExpressionHere}", java.lang.String.class, _jspx_page_context, null, false)
    , но прежде чем вы должны добавить Tomcat в библиотеке jasper.jar в вас проект. Класс org.apache.jasper.runtime.PageContextImpl описан в документах API Tomcat.
Смежные вопросы