2016-04-06 2 views
0
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 Это не работаетСкомпилировать пользовательский обработчик тегов JSP

+0

попробовать это: 'JAVAC -classpath javax.servlet.jsp.jstl-1.2.1.jar TagHandler.java' –

+0

@AjayKulkarni спасибо за ответ я сделал то же самое , – user5501265

+0

Это работало? Ваша команда была 'javac -cp 'C: \ Users \ dell \ Desktop \ jst l2 \ WEB-INF \ lib \ javax.servlet.jsp.jstl-1.2.1.jar;" ', Я не вижу' .java' файл в вашей команде –

ответ

1

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

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

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

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

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

Обратите внимание, что это будет выскочить «не может найти символ» ошибку компиляции, но эта часть полностью не связанный с вопросом, который в настоящее время задан. Для того, чтобы решить новую ошибку компиляции, голова к What does a "Cannot find symbol" compilation error mean?

Смежные вопросы