Wiki的语法是简单的,一般只包含“链接”、“段落”、“字体效果”以及“表格”几部分内容。简单是wiki受欢迎的原因,但是(总会有但是),我们喜欢的是简单而强大。
自从v1.6.3,JSPWiki增加了plugin机制,通过Plugin机制可以扩充wiki的语法与功能。在JSPWiki包里已经实现了一些plugin,我们可以直接使用这些plugin,也可以安装别人实现的一些有用的plugin,还可以实现自己的plugin。
plugin的语法格式
Plugin的语法完整格式如下:
[{INSERT <plugin class> WHERE <param1=value1>,<param2=value2>,...}]其中INSERT和WHERE可以省略,简化后的格式如下:
[{<plugin class> <param1=value1>,<param2=value2>,...}]如果参数值包含空格,可以用单引号引起来。
plugin的工作原理
回忆一下
JSPWiki的工作过程,Plugin工作于Wiki文本到HTML的翻译过程中,在翻译过程中Wiki Engine会检查Wiki文本里的标签,发现有Plugin的语句后会将相关的翻译工作交给具体的Plugin实现类。
实现自己的plugin
实现自己的plugin非常简单,只需要实现接口
com.ecyrd.jspwiki.plugin.WikiPlugin,此接口也非常简单,只有一个方法:public String execute( WikiContext context, Map params ) throws PluginException;params记录了plugin的参数, 在此方法最后返回要输出到页面的HTML即可.
最后需要将自己实现的plugin放到JSPWiki可以找到的地方, 可以选择把自己的plugin打包到标准包jspwiki.jar里, 或者单独打一个jar包并放到/WEB-INF/lib目录下.
JSPWiki Core Plugins
具体的文档可以到
http://www.jspwiki.org/wiki/JSPWikiCorePlugins
查看:
Plugin的扩展应用
从上面的介绍可以看到我们可以实现自己的Plugin,在自己的Plugin里可以直接输出HTML到页面上,这给了我们很大的想象空间,使用自定义Plugin可以实现很多有趣的、强大的功能.
JSPWiki 插件开发简单教程
Hello World JSPWiki 插件
今天就从一个最简单的插件说起, 最后逐渐的输入并介绍本站开发的 Code2Html 插件.
编写下列一段代码(请下载 JSPWiki 源代码包):
import com.ecyrd.jspwiki.*;
import com.ecyrd.jspwiki.plugin.*;
import java.util.*;
/**
* A hello world plugin.
*
* @author BeanSoft
*/
public class HelloWorldPlugin implements WikiPlugin {
public void initialize(WikiEngine engine) throws PluginException {
}
public String execute(WikiContext context, Map params)
throws PluginException {
return "Hello World! 你好世界!";
}
}
在页面里加入如下的代码来调用此插件:
[{HelloWorldPlugin}] 输出结果如下: Hello World! 你好世界!
怎么样, 很简单吧. 您还注意到了上面的语法高亮的代码了吧? 那是本站开发的 Code2Html 插件, 其用法简单如下:
[{Code
code here
}]
欢迎访问原文地址:
http://beansoft.java-cn.org:7070/Wiki.jsp?page=WikiPluginHelloWorld
posted on 2007-01-25 21:11
BeanSoft 阅读(2156)
评论(0) 编辑 收藏 所属分类:
JSPWiki