Я проследил сгенерированный источник Java, и это выглядит разумно.Происходит либо одно из двух: org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode путает имя переменной, либо используемый загрузчик классов преобразуется в JspRuntimeLibrary в другой экземпляр, чем тот, который управляет веб-приложением.
// caller.jsp ....
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response,
"callee.jsp" + (("callee.jsp").indexOf('?')>0? '&': '?') +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("justinVar",
request.getCharacterEncoding())+ "=" +
org.apache.jasper.runtime.JspRuntimeLibrary.URLEncode("primary",
request.getCharacterEncoding()), out, true
);
Заглянув внутрь среды выполнения Джаспера, мы находим этот драгоценный камень.Непонятно, в чем проблема, однако отображаемая страница имеет вид jsp: include из defaultParent.jsp, хотя jsp: параметры, передаваемые в jsp: include из defaultParent, также не отображаются.
958 // FIXME - It is tempting to use request.getRequestDispatcher() to
959 // resolve a relative path directly, but Catalina currently does not
960 // take into account whether the caller is inside a RequestDispatcher
961 // include or not. Whether Catalina *should* take that into account
962 // is a spec issue currently under review. In the mean time,
963 // replicate Jasper's previous behavior