Openfire 开发插件web UI

Openfire 可以为插件增加一个admin控制台配置和查看的web UI界面。

 

 

openfire web 服务器

Openfire采用内置的jettyweb服务器,在启动AdminConsolePlugin插件时调用startup()方法启动jetty服务器,9090为其明文端口,9091为其加密端口。


openfire 页面处理

       Openfire没有采用现在很流行的技术架构(SSH),只使用JSP+JavaBean

现有的Openfire管理控制台可采用插件方式进行扩展,页面采用Jsp方式实现,页面直接调用业务处理逻辑类(通常命名为XXManager)的实例方法,通常通过request对象封装的方式传递页面展现判定变量,常出现本页跳转。每个插件可定义自己的Servlet类和web.xmlweb-custom.xml配置文件。

    采用装饰框架方式展现页面,decorator页面有两个,即src/web/decorators目录下的两个页面main.jspsetup.jsp。采用自定义的admin标签实现,标签库admin.tld放置在src/web/WEB-INF目录下,标签解析类放置在org.jivesoftware.admin包下,有SidebarTagSubnavTagSubSidebarTagTabsTag四个解析类。在调用loadPlugin()方法进行插件加载时,解析插件的plugin.xml配置文件,将获取的相关信息封装在AdminConsole类的generatedModel对象中,后期通过插件解析类提取该对象中的数据并配合sitemesh装饰器进行页面展现。

 

 

Openfire 增加插件web UI过程如下:

 

1.       修改插件的配置文件plugin.xml,增加URL选项。如下:

 

 

    <!-- Admin console entries -->

 

 

这里的标签觉定了页面位置

    <adminconsole>

        <tab id="tab-server">

            <sidebar id="sidebar-server-settings">

                <item id="TCLSmartHome" name="TCLSmartHome"

                    url="tclsmarthome.jsp"

                    description="TCLSmartHome communication" />

            </sidebar>

         </tab>

    </adminconsole>

 

 2.       在插件src目录下面增加web文件夹,以tclsmarthome插件为例, 插入的文件夹路径为openfire_src\src\plugins\tclsmarthome\src\web 添加文件tclsmarthome.jsp 这个文件需要自己编写。 可以参考其他插件。

tclsmarthome.jsp 的内容:(仅包含一个输入框和一个按钮)

 

   

  <html>

    <head>

        <title>TCLSmartHome</title>

        <meta name="pageID" content="users-creation"/>

    </head>

    <body>

 

TCLSmartHome Timer Config

 

<input> </input>

<button>set</button>

 

 

</body>

</html>

 

       

       

   

 

 

 

 

 

3.       执行ant plugins 命令, 编译发布运行openfire 使用admin登陆之后, server的设置页面下可以找到TCLSmartHome 如图:

 Openfire <wbr>开发插件web <wbr>UI

 

 

 

点进去之后就可以看到一个输入框和一个按钮

 

 

 Openfire <wbr>开发插件web <wbr>UI

使用web UI的优点:

 

openfire风格统一, 不需要发布额外的配置程序。

 

 

缺点:

 

UI不易调整, 修改UI需要ant plugins 并重启openfire才能生效, 不易调试(内嵌的jetty特性决定)。

 

不易实现复杂的UI 需要维护web文件夹下的jsp(需要熟悉jsp 页面开发)。

 

 

 

使用第3方配置程序的优点:

 

容易调试,界面容易调整, 容易调试。 出错不影响openfire

 

缺点:

 

需要实现xmpp协议与openfire连接(可使用smark)。

 

需要维护第3方应用程序(可考虑使用java swing)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值