Как разрешить переменные модели Spring в JSP при отладке с помощью IntelliJ IDEA?

Я установил точку останова в JSP при запуске приложения Tomcat через IntelliJ IDEA (Ultimate ed.). Пока все хорошо, я могу пройти через JSP, как ожидалось.

Проблема заключается в следующем: я не могу разрешить переменные модели Spring, такие как ${path} при отладке. Evaluate Expression вызывает ошибку: "Не удается найти переменную" путь ".

В качестве обходного пути я могу явно ссылаться на значение модели с помощью <c:set var="testPath" value="${path}">. Таким образом, я могу видеть testPath в Переменные > _jspx_page_context > атрибуты, но не path.

Ответ 1

Переменная path является частью структуры Spring и устанавливается как атрибут для PageContext, существует только несколько способов отладки таких переменных.

Для меня лучшим решением является добавление выражения в ваш просмотр часов: pageContext.findAttribute("path") или _jspx_page_context.findAttribute("path")

Это не имеет значения, потому что оба они указывают на один и тот же объект времени выполнения:

enter image description here

Ответ 2

Это только обход, и это, безусловно, не лучшие практики. Однако, если вам нужно что-то быстрое и грязное, установите другой параметр String в свой параметр $path. Отладчик сможет увидеть эту новую переменную во время выполнения.