Struts2 — как фильтровать (с перехватчиками) страницу, когда она не отображается после действия

Я хотел бы знать (на Struts2), можно ли применить перехватчики к одной странице jsp. например: когда я впервые загружаю свое приложение, я просто вызываю jsp (никаких действий). Я знаю, как поставить перехватчик до/после действия, но для JSP? Является ли это возможным?

Ваше здоровье


person markzzz    schedule 12.12.2010    source источник


Ответы (1)


Ну, стойки работают только с действиями, поэтому невозможно применить перехватчик без действия, однако я думаю, что вы можете добиться желаемого эффекта:

В файле struts.xml вы можете определить действие как:

    <action name="textAction">
        <result>myjsp.jsp</result>
    </action>

Таким образом, 'textAction' отображает myjsp.jsp... Посмотрите на документацию struts, вы можете установить перехватчики на уровне пакета (если у вас есть только одно действие в пакете, вы получите желаемое поведение), или вы даже можете указать стек перехватчика на действие за действием основе.

Если вы хотите сделать еще меньше работы... Вам следует добавить плагин struts2-conventions-plugin в путь к вашему классу. С его помощью вы можете избежать использования struts.xml по большей части.

Таким образом, вы не можете избавиться от действия, каждый запрос должен быть действием... Но вам не нужно создавать класс для каждого действия, а с плагином соглашения вам даже не нужно обновлять файл struts.xml. просто загляните в jsp. Без struts.xml или аннотации класса было бы сложно применить собственный перехватчик.

person Quaternion    schedule 12.12.2010