Скомпилировать пользовательский обработчик тегов JSP

package com.mytag.tags;

import java.util.Date;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class MyTagHandler extends SimpleTagSupport{

public int doStartTag() throws JspException {
    JspWriter out=pageContext.getOut();
    try{
        out.print(new java.util.Date());
    }catch(Exception e){System.out.println(e);}
    return SKIP_BODY;
    }

}

Необходимо скомпилировать этот пользовательский обработчик тегов JSP без использования какой-либо IDE. Может кто-нибудь, пожалуйста, укажите, как его скомпилировать, я попробовал javac -cp "C: \ Users \ dell \ Desktop \ jst l2 \ WEB-INF \ lib \ javax.servlet.jsp.jstl-1.2.1.jar;" MyTagHandler.java это не работает

1 ответ

Этот код не является JSTL вообще. Этот код является пользовательским тегом JSP. JSTL - это те теги, которые вы импортируете в JSP через http://java.sun.com/jsp/jstl/* URI пространства имен, такой как <c:xxx>,<fmt:xxx>и т. д. JSTL не представляет "пользовательских обработчиков тегов JSP". Чтобы узнать больше о том, что такое JSTL, перейдите на нашу вики-страницу JSTL.

Что касается вашей конкретной проблемы, вам просто нужно иметь JSP API в classpath времени выполнения. На это уже должны указывать имена пакетов импорта:javax.servlet.jsp.*, Вы не импортировалиjavax.servlet.jsp.jstl.*в любом месте, поэтому JAR-файл JSTL API не требуется.

Обычно вы найдете JAR-файл JSP API в папке library/module целевого сервера. Тот факт, что вы вручную поместили JSTL в/WEB-INF/libПапка предполагает, что вы не нацелены на настоящий сервер Java EE, такой как WildFly, TomEE и т. д., а на пустой контейнерный сервлет-контейнер, такой как Tomcat. Поэтому я возьму Tomcat в качестве примера. Вы можете найти API JSP в /libпапка установки Tomcat.

Предполагая, что Tomcat установлен (разархивирован) вC:\Java\apache-tomcat-8.0.33Вот правильная команда для компиляции собственного обработчика тегов JSP:

javac -cp "C: \ Java \ apache-tomcat-8.0.33 \ lib \ jsp-api.jar" com / mytag / tags / MyTagHandler.java

Обратите внимание, что при этом появляется ошибка компиляции "not find symbol", но эта часть совершенно не связана с заданным вопросом. Чтобы устранить новую ошибку компиляции, перейдите к разделу Что означает ошибка компиляции "Не удается найти символ"?

Другие вопросы по тегам