天天看點

帆軟報表插件開發之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
           

繼續閱讀