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 插件开发简单教程

JSPWiki 插件之 HelloWorld

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

专题:Android  iPad  jQuery  Chrome OS

博客园首页  IT新闻  知识库  学英语  Java程序员招聘
标题  
姓名  
主页
验证码 *  
内容(请不要发表任何与政治相关的内容)  
  登录      
每天10分钟,轻松学英语


网站导航: