2010-12-12 3 views
1

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

Приветствие

ответ

4

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

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

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

так «textAction» оказывает myjsp.jsp ... Смотри документацию распорок можно установить перехватчики на уровне пакета (если у вас есть только одно действие в пакете, вы получаете поведение, которое вы хотите), или вы можете en укажите стек перехватчика на основе действия по действию.

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

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