2013-03-22 12 views

Odpowiedz

4

Nie można zablokować określonych części pliku faces-config.xml w pliku JAR innej firmy przed interpretacją.

Masz zasadniczo 2 opcje:

  1. blokować cały faces-config.xml w 3rd party JAR z interpretowane przez dodanie metadata-complete="true" do webapp własnego faces-config.xml.

    <faces-config ... metadata-complete="true"> 
    

    Zauważ, że ten pomija również skany adnotacji w klasach 3rd partii JAR. Zasadniczo trzeba przedefiniować określone części, które mają być używane w przeglądarce internetowej faces-config.xml.


  2. niestandardową Lifecycle realizację poprzez LifecycleFactory którego rejestrację w <factory><lifecycle-factory> z webapp na faces-config.xml. W tej implementacji nadpisuj addPhaseListener() odpowiednio, aby wykonać np. przed przeskoczeniem lub kontynuowaniem sprawdź.

+0

Opcja 2 jest prawdopodobnie najprostsza dla mnie, biorąc pod uwagę, że istnieje wiele bibliotek innych firm, które chcę odpowiednio zachowywać. – cyberoblivion

+0

Trzecią opcją, poza kontrolą, byłoby wysłanie żądania funkcji do dostawcy biblioteki, że słuchacz fazy powinien pominąć zadanie, np. określony parametr kontekstu lub parametr żądania, atrybut sesji lub nawet zmienna środowiskowa jest obecna, w zależności od rzeczywistego zadania/odpowiedzialności podmiotu nasłuchującego fazy. – BalusC

Powiązane problemy