Этот старый вопрос также стал актуальным для меня на этой неделе при рассмотрении существующего кода. Помимо ответа Тбрюэль , это было для меня самым полезным справочником:
http://bodez.wordpress.com/2009/03/13/customising-struts2-jsp-tags/
В итоге (1) ,
- Расширить существующий тег (например,
org.apache.struts2.views.jsp.ui.TextFieldTag
)
- Расширить свое поведение (например,
org.apache.struts2.components.TextField
)
- Определение новой темы и шаблонов (например, копирование и редактирование из существующей темы в
/core/src/main/resources/template
)
- Создание нового TLD для настроенной версии taglib
- Разверните его в веб-приложении
Также может пригодиться распорка 2 API .
К сожалению (и удивительно), очень мало документации о том, как это сделать, и Javadoc для существующих компонентов распорок "немного скуден" и вводит в заблуждение. Возможно, он не предназначен для использования таким образом?
Примечания
(1) Я отредактировал этот ответ через несколько лет после исходного поста, чтобы добавить это резюме, приведя его в соответствие с рекомендациями SO. К сожалению, это было долгое время без работы с подобным кодом, и я не могу быть уверен, что сохранил суть связанного блога, поэтому, пожалуйста, обратитесь к ссылке, если она все еще работает.