Как получить доступ к параметрам перехватчика стояков в Java? - PullRequest
1 голос
/ 12 июня 2010

У меня есть следующий код в struts.xml:

<interceptor-ref name="checkTabsStack">
 <param name="tabName">availability</param> 
</interceptor-ref>

, и я хочу получить доступ к параметру tabName в процедуре перехватчика, как мне это сделать?я пробовал

Map params = ActionContext.getContext().getParameters(); 

но параметры пустые ...

Спасибо!

Ответы [ 2 ]

3 голосов
/ 12 июня 2010

Объект Interceptor не должен ничего знать о фрагменте xml, который использовался для его создания / конфигурирования, что является чем-то внутренним для Struts2. Подумайте об этом: класс перехватчика ( например ) не имеет некоторого атрибута "params", и он может даже (в теории) создаваться каким-то механизмом, который не имеет ничего общего с публикуемым вами Struts.xml , Это разъединение , и Struts2 относится к этому серьезно.

Правда, некоторые перехватчики имеют некоторые настраиваемые параметры; но они, как правило, будут свойствами определенного класса. В вашем примере ваш конкретный класс-перехватчик (который вы должны знать) может иметь методы setTabName() getTabName(). Struts2 будет вызывать сеттер при чтении файла struts.xml и создании экземпляра перехватчика. Геттер это то, что вы должны заботиться. Посмотрите на ваши документы класса перехватчика.

0 голосов
/ 12 июня 2010

В вашем классе перехватчиков:

public void setTabName(String tabName) {
    // ...
}

Struts вызовет этот установщик при инициализации перехватчика.

...