I'm unable to debug JSPs with nested fragment files.
Environment: Eclipse 3.1 and MyEclipse from EnterpriseWorkbenchInstaller_4.0M2_E3.1.exe
Server: Weblogic 8.1
I’m able to set a breakpoint and debug a simple JSP. When this JSP is run the debugger is invoked at the specified breakpoint:
| Code: |
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'debug.jsp' starting page</title>
</head>
<body>
<%
String test = "test";
%>
My test string is: <%= test %> <br>
</body>
</html> |
So, I know that everything is set up ok. But our production JSPs are VERY complex and may include many nested file fragments.
For example: JSP a.jsp may include fragments:
| Code: |
<%@ include file="b.jspf" %>
<%@ include file="c.jspf" %>
<%@ include file="d.jspf" %> |
Each JSP fragment may then include many more fragments:
For example JSP fragment: b.jspf may include fragments:
| Code: |
<%@ include file="e.jspf" %>
<%@ include file="f.jspf" %>
<%@ include file="g.jspf" %> |
And so on.
Because there are so many files and the files are very large I have turned off automatic JSP validation. When I manually validate one of our JSPs by right clicking and selecting Validate JSP I get the message: “The JSP File is Valid”. The editor does flag problems via the red bar in the right hand vertical column. See picture:
The "annotations" listed are incorrect. For example the first line states:
| Code: |
| -CityData cannot be resolved to a type (in file: “inc_processfindbooking.jspf”). |
A search for CityData in inc_processfindbooking.jspf returns zero occurrences.
CityData IS refereced in one of the inc_processfindbooking.jspf include files:
| Code: |
| <%@ include file="../utils/city/inc_cityejb.jspf" %> |
And inc_cityejb.jspf does contain the following:
| Code: |
| <%@ page import = "com.xxxxxx.yyyyy.zzzzzz.city.param.CityData" %> |
Would these annotation problems prevent the debugging?
What am I missing?
The JSPs can be successfully deployed with no problems.
My first thought is that the nested includes are causing problems.
I beleive the classpath is set up correctly as CityData code completion works fine in the fragment file: ../utils/city/inc_cityejb.jspf
See picture:
Another annotation problem identified is:
| Code: |
| INC_SECURITYREDIRECT_BKG cannot be resolved (in file: “inc_processfindbooking.jspf”) |
INC_SECURITYREDIRECT_BKG is referenced in inc_processfindbooking.jspf and defined in include fragment file: inc_securityredirect.jspf. The import does seem to be after the usage, but this JSP works fine when deployed.
See picture:
I am actively promoting MyEclipse within our organization but will not be able to get any interest until this is resolved.
Thanks in advance.
Paul