当前位置:   article > 正文

Openfire 开发插件web UI_能接入openfire的webui

能接入openfire的webui

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)。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/290753
推荐阅读
相关标签
  

闽ICP备14008679号