Как разрешить переменные модели 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. Отладчик сможет увидеть эту новую переменную во время выполнения.