Хотя я не новичок в создании taglib, но я смущен тем, как мы можем использовать существующее определение тега в моем собственном теге?
Я пишу taglib для инкапсуляции фрагмента кода jsp, который регулярно используется в jsp файлах. Но этот фрагмент содержит другие теги расположений, например , и т.д.
Я должен инкапсулировать все это в одном пользовательского тега.
Возможно ли, что я могу использовать классы taglib struts напрямую или что еще?
Пожалуйста, предложите, как я должен действовать.
Это довольно прямолинейно. Создайте фрагменты кода JSP, которые вы хотите в своем taglib. Храните их где-нибудь (как правило, это WEB-INF\tags
, но могут быть \templates
). Имена файлов должны заканчиваться на.tag. Расскажите компилятору JSP, где находятся фрагменты:
<%@taglib prefix="template" tagdir="/WEB-INF/tags" %>
и использовать их
<template:_name_of_template_file_without_extension_/>
где вы просто ссылаетесь на файл. Существует альтернативный синтаксис для шаблона, но тогда вы не создаете taglib.
<template:insert template = "String" [ base = "String" ] [ id = "" ] [ locale = "" ] >
...Body Content...
</template:insert>
Извините, если вы хотите создать свой собственный taglib
<%@taglib uri="_filename_.tld" prefix="_lib_prefix_" %>
затем используйте его
<_lib_prefix_:_lib_tag_ _WHATEVER_/>
Наконец, вы можете использовать существующий taglib в пользовательских тегах