转:http://blog.csdn.net/lovexieyuan520/article/details/38935137
在前面的博客中,我介绍了openfire插件开发,在那篇博客中我详细的说明怎样开发一个基于控制台的插件,这篇博客中我要介绍基于web的插件程序,同样,这篇博客实在openfire插件开发的基础上开发的,如果有网友不明白的,请移步至前面相关的文章,我写openfire是一系列连续性的文章,建议大家从前面开始看起,以释没头没尾之嫌,好了,进入正题:
1、新建我们需要的jsp文件,在插件src目录下面增加web文件夹,在web文件夹中添加一个welcome.jsp文件,这个文件需要自己编写。 可以参考其他案例插件。截图如下:
选择新建jsp文件,截图如下:
在welcome.jsp中随便输入写内容,我的如下:
[html] view plain copy
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>helwo world welcome</title>
- <meta name="pageID" content="welcome" />
- </head>
- <body>
- <h1>hello world</h1>
- <input type="text"/>
- <input type="submit" value="提交">
- </body>
- </html>
修改helloWorld控制台插件的plugin.xml文件,内容如下:
[html] view plain copy
- <?xml version="1.0" encoding="UTF-8"?>
- <plugin>
- <class>com.helloworld.HelloWorldPlugin</class>
- <name>helloWorld</name>
- <description>First Openfire Custom Plugin.</description>
- <author>xieyuan</author>
- <version>1.0.0</version>
- <date>14/07/2014</date>
- <minServerVersion>3.9.0</minServerVersion>
- <adminconsole>
- <tab id="tab-server">
- <sidebar id="sidebar-server-settings">
- <item id="welcome" name="welcome"
- url="welcome.jsp"
- description="hello world" />
- </sidebar>
- </tab>
- </adminconsole>
- </plugin>
现在,我们来看看效果,刷新页面我们看到:
现在解释一下上面各个选项的含义:
welcome.jsp中<meta name="pageID" content="welcome" />,content对应的是plugin.xml中item中的id。
plugin.xml中tab对应的是页面的顶部tab,比如服务器对应的是id为tab-server,用户/组对应的是tab-users,反正都有一个对应,然后sidebar对应每一个tab下面的子项,比如服务器下面有两个子项分别为服务器管理器,服务器设置,对应id为sidebar-server-manager,sidebar-server-settings,最后的item节点中,id前面说了,name指页面超链接的文本。这样呢就能将插件中的页面放到自己想要的地方去。当然不一定要放到现有的tab下面,也可以新建一个tab,来存放。具体可以参考Fastpath Service这个插件的plugin.xml,照着他的例子写就行了。
最后使用ant build.xml文件,编译出最新的插件文件。ant之后,插件才会生效!