天天看点

帆软报表插件开发之fine-decision中的EmbedRequestFilterProvider扩展

1 EmbedRequestFilterProvider扩展实现了web项目中的过滤器的功能

2 接口定义:

public interface EmbedRequestFilterProvider extends Mutable {
    String MARK_STRING = "EmbedRequestFilterProvider";
    int CURRENT_LEVEL = 2;

    void init(FilterConfig var1);

    void filter(HttpServletRequest var1, HttpServletResponse var2) throws IOException, ServletException;

    void destroy();
}
           

跟web项目中的filter接口定义一样。

3 该接口仅支持对内置的Servlet做过滤,也就是只能过滤/decision这个路由,如果需要更自由的过滤器,参考GlobalRequestFilterProvider接口的使用。

4 该扩展是在fine-decision.jar的com.fr.decision.base.DecisionServletInitializer类的listenEmbedServletFilter方法中被调用的

private void listenEmbedServletFilter(ServletContext servletContext) {
        final Set<EmbedRequestFilterProvider> set = new LinkedHashSet(ExtraDecisionClassManager.getInstance().getArray("EmbedRequestFilterProvider"));
        F
           

继续阅读