Я пытаюсь проверить теги JSP, которые определены как файлы .tag в каталоге WebContent моего приложения.Структура веб-проекта выглядит следующим образом:
Использование автономногоПристань, я пытаюсь загрузить тест JSP.tagTest.jsp является просто оболочкой над файлом тегов и вызывает его с помощью атрибута tagdir, например:
<%@ taglib prefix="test" tagdir="/WEB-INF/tags" %>
<test:tag1 model="${cat}" />
Я настроил сервер следующим образом:
WebAppContext webCtx = new WebAppContext();
webCtx.setContextPath("/jsptest");
webCtx.setDescriptor("WebContent/WEB-INF/test-web.xml");
webCtx.setResourceBase("WebContent");
ContextHandlerCollection contexts = new ContextHandlerCollection();
contexts.setHandlers(new Handler[] { webCtx });
server.setHandler(contexts);
Я настроил сервлетэто перенаправляет запрос на тестирование jsp, так как я не смог вызвать jsp из подкаталога WebContent напрямую:
request.setAttribute("cat", new SomeModel());
getServletContext().getRequestDispatcher("/WEB-INF/views/tagTest.jsp").forward(request, response);
При вызове этого сервлета выдается следующая ошибка (также та же ошибка, если я копирую test jsp непосредственно в WebContent и вызываюas /jsptest/tagTest.jsp)
org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:634)
at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:280)
at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:660)
at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:91)
at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:719)
...
Caused by: java.lang.NullPointerException
at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:149)
at org.apache.taglibs.standard.tlv.JstlCoreTLV.validate(JstlCoreTLV.java:105)
at org.apache.jasper.compiler.TagLibraryInfoImpl.validate(TagLibraryInfoImpl.java:949)
at org.apache.jasper.compiler.Validator.validateXmlView(Validator.java:1921)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1888)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:223)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:625)
Как настроить JSP со встроенным Jetty, имеющим теги tagdir?Нужно ли вести войну, если используются тагдиры?Обычный jsp загружается нормально, тег uri обрабатывается правильно:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %> - this works