gadfi
@gadfi
https://gamega.org

Unable to load tag handler class в чем ошибка?

Доброго времени суток.
Довольно глупый вопрос на уровне Hello World, ранее писал только под android и немного детскоп.
Есть класс
public class HelloWorld extends TagSupport {
    private static final long serialVersionUID = 1L;

    @Override
    public int doStartTag() throws JspException {
        try {
            pageContext.getOut().print( "Hello World!" );
        } catch(IOException ioException) {
            throw new JspException("Error: " + ioException.getMessage());
        }
        return SKIP_BODY;
    }
}


в папке WEB-INF описываю тег helloworldTag.tld

<?xml version="1.0" encoding="ISO-8859-1"?>

<taglib xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
        version="2.1">

    <tlib-version>1.0</tlib-version>
    <short-name>mytag</short-name>
    <uri>/WEB-INF/helloworldTag</uri>

    <tag>
        <name>helloworld</name>
        <tag-class>ru.gadfil.jstl.HelloWorld</tag-class>
        <body-content>empty</body-content>

    </tag>

</taglib>


и в index.jsp использую его

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/helloworldTag.tld" prefix="mytag" %>
<%@ page session="false" pageEncoding="UTF-8" %>

<html>
<head>
    <title>my webapp</title>
</head>
<body>
<mytag:helloworld/>
</body>
</html>


Не могу понять вроде все подключаю в <%@ taglib uri="/WEB-INF/helloworldTag.tld" prefix="mytag" %> но ошибка остается
  • Вопрос задан
  • 2637 просмотров
Решения вопроса 1
@bobzer
Java EE Developer
Судя по тексту ошибки, сам класс HelloWorld забыли "положить" на сервер, либо он оказался в контексте, недоступном загрузчику классов, который загружает index.jsp. Т.е., либо класса вообще нет на сервере, либо он лежит там, откуда сервер его загрузить не догадался. В HelloWorld-ах классы обычно лежат в папке HelloWorld.war/WEB-INF/classes

А вообще, JSP - технология давно устаревшая, ее современный вариант - JSF. Начиная со второй версии спецификации создание собственных компонентов (аналог тегов JSP) стало простой задачей...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы