Как переопределить DefaultFaceletFactory в JSF 2.2.8- - PullRequest
0 голосов
/ 06 сентября 2018

Я хочу выбрать другой кэш лицевой стороны на основе URL, например -

        if url starts with some pattern - Choose Nocache
        otherwise - Choose default cache - expiringConcurrentcache 

Я пытаюсь переопределить DefaultFaceletFactory, но мой класс не запускается.

Я думаю, что мне нужно указать некоторые настройки в face-config.xml или web.xml, но я не уверен, что мне не хватает. Я использую JSF 2.2.8.

Кто-нибудь знает, в какой конфигурации мне не хватает?

public class DynamicFaceletFactory extends DefaultFaceletFactory {

    @Override
    public Facelet getFacelet(FacesContext context, URL url) throws 
                     IOException {
        if (url.getPath().contains("include://dynamicComponent/?uniqueId=")) {
            DefaultFaceletCache noCache = new DefaultFaceletCache(0); //noCache
            return noCache.getFacelet(url);
        } else {
            return super.getFacelet(context, url);
        }
    }
}
...