Пользовательский тег struts2? - PullRequest
4 голосов
/ 23 октября 2009

Я хочу написать собственный тег struts2, который имеет отдельный класс действий для себя и может вызываться из разных страниц jsp.

Что-то вроде:

<s:writetext type="aaa" parentid="xxx" parentname ="yyy" height ="50" width ="125" />

Возможно ли это? Пожалуйста, помогите, я очень новичок в этом, и поиск в Google по этому поводу не помог.

Спасибо, Адитья

Ответы [ 3 ]

3 голосов
/ 09 июля 2010
3 голосов
/ 27 января 2012

Этот старый вопрос также стал актуальным для меня на этой неделе при рассмотрении существующего кода. Помимо ответа Тбрюэль , это было для меня самым полезным справочником:

http://bodez.wordpress.com/2009/03/13/customising-struts2-jsp-tags/

В итоге (1) ,

  1. Расширить существующий тег (например, org.apache.struts2.views.jsp.ui.TextFieldTag)
  2. Расширить свое поведение (например, org.apache.struts2.components.TextField)
  3. Определение новой темы и шаблонов (например, копирование и редактирование из существующей темы в /core/src/main/resources/template)
  4. Создание нового TLD для настроенной версии taglib
  5. Разверните его в веб-приложении

Также может пригодиться распорка 2 API .

К сожалению (и удивительно), очень мало документации о том, как это сделать, и Javadoc для существующих компонентов распорок "немного скуден" и вводит в заблуждение. Возможно, он не предназначен для использования таким образом?


Примечания

(1) Я отредактировал этот ответ через несколько лет после исходного поста, чтобы добавить это резюме, приведя его в соответствие с рекомендациями SO. К сожалению, это было долгое время без работы с подобным кодом, и я не могу быть уверен, что сохранил суть связанного блога, поэтому, пожалуйста, обратитесь к ссылке, если она все еще работает.

3 голосов
/ 28 октября 2009

эти ссылки помогут вам в создании собственного тега struts2. http://www.vitarara.org/cms/struts_2_cookbook/creating_a_ui_component

http://www.wantii.com/wordpress/?p=12

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...