1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 JFinal-event 2.1.0 发布,添加会话参数传递 下载

本帖由 漂亮的石头2018-03-08 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    488,309
    赞:
    47
    JFinal-event 2.x 参(抄)考(袭)Spring 4.2.x中Event的使用方式而生,为JFinal用户带来更多方便。

    更新情况:
    JFinal-event v2.1.0 添加会话参数传递,使用户在异步Event中更方便的获取会话中的参数,而非使用硬编码的方式传递参数。

    使用:


    1. 在Config中添加me.add(new CtrlHolderInterceptor());拦截器。


    2. 然后继承CtrlHolderEvent编写自己的事件类

    @EventListener(async = true)
    public void testEvent(MyCtrlHolderEvent event) {
    CtrlHolder holder = event.getCtrlHolder();
    holder.getPara("p");
    holder.getAttr("x");
    holder.getHeader("x");
    holder.getSessionAttr("x");
    }

    JFinal-event 2.x的使用:
    1. 初始化插件

    EventPlugin plugin = new EventPlugin();
    // 设置为异步,默认同步,或者使用`threadPool(ExecutorService executorService)`自定义线程池。
    plugin.async();

    // 设置扫描jar包,默认不扫描
    plugin.scanJar();
    // 设置监听器默认包,默认全扫描
    plugin.scanPackage("net.dreamlu");

    // bean工厂,默认为DefaultBeanFactory,可实现IBeanFactory自定义扩展,可扩展从IOC容器中获取
    plugin.beanFactory(new DuangBeanFactory());

    // 手动启动插件,用于main方法启动,jfinal中不需要,添加插件即可。
    plugin.start();

    // 停止插件,用于main方法测试
    plugin.stop();

    2. 新建事件类

    // 继承 ApplicationEvent
    public class Test1Event extends ApplicationEvent {
    private static final long serialVersionUID = 6994987952247306131L;
    public Test1Event(Object source) {
    super(source);
    }
    }

    3. 编写监听
    监听器可写在任何有默认构造器(无参构造器)的类(包括Controller、Model)中,如果类不能使用无参构造器初始化,请设置为 ObjenesisBeanFactory bean工厂,依赖 objenesis jar包。

    public class TestListener {
    @EventListener
    public void listenTest1Event(Test1Event event) {
    System.out.println("Test1Event:" + event.getSource());
    }

    @EventListener
    public void listenTest1Event(Test2Event event) {
    System.out.println("Test1Event:" + event.getSource());
    }
    }

    4. 发送事件

    EventKit.post(new Test1Event("hello1"));

    更多示例代码和更新记录请查看gitee中的readme说明。
    JFinal-event 2.1.0 发布,添加会话参数传递下载地址
     
正在加载...