Перехватчик прицела в struts2

Есть ли пример кода, где я могу увидеть использование перехватчика области в Struts2? Я хочу передать параметр из одного действия в другое действие (настроенное с помощью struts.xml) и хочу использовать перехватчик области действия.

Поскольку я новичок в Struts 2, может ли кто-нибудь предоставить пример использования перехватчика области видимости?


person Mike    schedule 09.12.2011    source источник


Ответы (1)


Я считаю, что это очень хорошо описано в документации Struts2. Это все, что вам нужно сделать.

    <action name="scopea" class="ScopeActionA">
                <result name="success" type="dispatcher">/jsp/test.jsp</result>
                <interceptor-ref name="basicStack"/>
                <interceptor-ref name="scope">
                    <param name="key">funky</param>
                    <param name="session">person</param>
                    <param name="autoCreateSession">true</param>
                </interceptor-ref>
            </action>

<action name="scopeb" class="com.mevipro.test.action.ScopeActionB">
            <result name="success" type="dispatcher">/jsp/test.jsp</result>
            <interceptor-ref name="scope">
                <param name="key">funky</param>
                <param name="session">person</param>
                <param name="autoCreateSession">true</param>
            </interceptor-ref>
            <interceptor-ref name="basicStack"/>
        </action>

Все, что вам нужно позаботиться, это то, что у вас есть геттер в ActionA и аналогичный сеттер в actionB. Кроме того, вы должны использовать ключевой параметр, чтобы убедиться, что вы сообщаете Struts2, какое действие получает какие объекты.

прочитайте эту официальную документацию для получения подробной информации о перехватчике Struts2 Scope

Я предпочту Scope Interceptor только тогда, когда мне нужно разработать функционал, подобный мастеру, поскольку он будет обрабатывать другие вещи, такие как блокировка на уровне сеанса. Если это не ваше требование, есть другой способ передать параметры, например поместить объект в сеанс и получить объект из сеанса во втором действии.

person Umesh Awasthi    schedule 09.12.2011