如何在JSF 2.2.8-中覆盖DefaultFaceletFactory

时间:2018-09-06 20:55:55

标签: jsf-2.2 faces-config

我想基于url选择不同的facelet缓存-

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

我正在尝试覆盖DefaultFaceletFactory,但是未触发我的类。

我认为我需要在faces-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);
        }
    }
}

0 个答案:

没有答案