Ответ 1
Я нашел эту страницу в FAQ Eclipse WTP, в которой объясняется, как настроить Eclipse, чтобы вы могли перейти к сгенерированному java-коду, нажав на stacktrace.
Вот стек:
...
org.apache.jsp.showcustomer_jsp._jspService(showcustomer_jsp.java:128)
org.apache.jasper.runtime.HttpJspBase.service(Unknown Source)
Это то, что я делаю:
showcustomer_jsp.java
(и не совсем очевидно посмотреть в /var/run/tomcat-6/Catalina/localhost/_/org/apache/jsp
)..jsp
для всего, что вы нашли в строке 128 в файле _jsp.java
.Пожалуйста, есть ли более простой способ сделать это?
Я нашел эту страницу в FAQ Eclipse WTP, в которой объясняется, как настроить Eclipse, чтобы вы могли перейти к сгенерированному java-коду, нажав на stacktrace.
Я не думаю, что ты можешь. JSP файл скомпилирован в сервлет и не запускается напрямую. Поскольку исключение выбрано из этого сервлета, строка, содержащаяся в трассировке стека, является той, что принадлежит классу. Исходная строка в JSP теряется в этой точке.
Обычно лучше избегать писать код или исключать исключения из jsp и инкапсулировать свою логику в сервлетах и тегах JSP и использовать JSTL для потока управления (if, forEach и т.д.).
Я использовал для программирования в Lex и Yacc, которые генерировали бы код C, и вы могли бы включить предпроцессорные директивы #line для отладки. Когда что-то произошло в сгенерированном c-коде, среда IDE была достаточно умна, чтобы открыть соответствующий файл lex или yacc, а не сгенерированный c-код. Surly