Gymterview
junior

Что вы знаете о написании пользовательских JSP тегов

Пользовательский JSP-тег создаётся в три шага: написание Java-класса (Tag Handler), создание TLD-файла с описанием тега и подключение библиотеки на JSP-странице.

Шаг 1: Tag Handler

Класс наследует TagSupport или SimpleTagSupport и переопределяет методы обработки:

Пример
public class HelloTag extends TagSupport {
    @Override
    public int doStartTag() throws JspException {
        try {
            pageContext.getOut().print("Hello World!");
        } catch (IOException e) {
            throw new JspException(e);
        }
        return SKIP_BODY; // не обрабатывать тело тега
    }
}

Шаг 2: TLD-файл

Пример
<tag>
    <name>hello</name>
    <tag-class>com.example.HelloTag</tag-class>
    <body-content>empty</body-content>
</tag>

Шаг 3: Использование на JSP

Пример
<%@ taglib uri="/WEB-INF/mytags.tld" prefix="my" %>
<my:hello />

Тег может принимать атрибуты через setter-методы в Tag Handler и иметь тело (body-content: empty, scriptless, tagdependent, JSP).

На собеседовании: покажите, что знаете все три шага. Tag Handler + TLD + taglib-директива. Для простых случаев проще использовать Tag File (.tag файл) — не нужен Java-класс и TLD.