Повторно используемый компонент / тег в проектах Struts2 - PullRequest
0 голосов
/ 09 декабря 2011

Я использую распорки в своих проектах.У меня есть идея создать повторно используемый компонент (может быть тег или плагин, не уверен), который можно использовать на разных страницах одного и того же сайта или позже импортировать на новый сайт (проекты).Как я хочу показать опрос на каждой странице сайта на основе текущей страницы.Идея в том, что он должен работать независимо (с использованием некоторых файлов свойств для настроек БД и т. Д.), Например, проверять или сохранять результаты опроса в БД и показывать результат после отправки и т. Д.

Теперь моя проблема / вопрос - что мне использовать, пользовательский тег / плагин или что?

Мне нужны пошаговые инструкции для того же, если пользовательский тег, то шаги для создания пользовательского тега или если плагин, то шаги для создания плагина и как мы можем импортировать то же самое в другихпроекты.Пожалуйста, предоставьте ссылки, если таковые имеются:).

Спасибо Кришан Баббар

1 Ответ

1 голос
/ 09 декабря 2011

Плагин Struts 2 - это отдельный JAR-файл, содержащий классы и конфигурацию, которые расширяют, заменяют или добавляют к существующим функциональным возможностям инфраструктуры Struts. Но вы планируете создать какой-то компонент многократного использования, который вы можете использовать для своих нужд.

Strtuts2 обеспечивает готовую поддержку для создания таких повторно используемых компонентов. У вас есть два варианта

  1. Вы можете использовать компонентный тег struts2 <s:component>

вот подробности об этом Тег компонента Struts2

очень хороший пост об использовании этого компонента

Создание компонента пользовательского интерфейса

Если это не соответствует вашим требованиям, вы всегда можете перейти к созданию пользовательского компонента, добавив org.apache.struts2.components.Component

Вот подробности для этого, поскольку это базовый класс для создания повторно используемых компонентов.

Компоненты Struts2

Вот пример того, как вы создадите компонент

public class Hello extends Component {
    protected String name;

    public Hello(ValueStack stack) {
        super(stack);
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean start(Writer writer) {
        try {
            writer.write("Hello " + name);
        } catch (IOException e) {
            e.printStackTrace();
        }

        return true;
    }

    public boolean end(Writer writer) {
        return true;
    }

    @Override
    public boolean usesBody() {
        return false;
    }
}

Подробнее об этом блоге Создание пользовательского компонента в Struts2

...