开源jforum 的二次开发 2008-06-29 09:33

字号:    

     今天想看看jforum.想做一下它的二次开发.
1、准备环境:TOMCAT6.0、JDK1.5、jforum2.1.7、mysql.5.0

2、下载jforum,可以到http://www.jforum.net/download.jsp上下载。下载后讲war文件部署在tomcat/webapps下

3、在mysql中建数据库jforum:create database jforum character set utf8,执行jforum\WEB-INF\config\database\mysql下的mysql_db_struct.sql建表,在 mysql命令行下执行:source mysql_db_struct.sql。

4、启动tomcat,运行http://localhost:8080/jforum/install.jsp进行安装,注意两项设置,默认显示语言选择Chinese Simplifed (zh_CN)数据库编码选择utf-8,对其他项设置,点击下一步:核对设置,点击开始安装:安装成功,点击进入论坛。

 

 

1. 在modulesMapping.properties文件中添加:mydwbi=com.mydwbi.MydwbiAction

此文件用来映射模块名.即添加一个叫mydwbi的模块.

2. 在templatesMapping.properties文件中添加:

mydwbi.contact = contact.htm

mydwbi.advertisement = advertisement.htm

此文件映射action和result 模板的关系,学过freemarker的可能会好理解些.

3. 在urlPattern.properties中添加:

mydwbi.contact.0 =

mydwbi.advertisement.0 =

此文件设置每个action参数.我们这个action无参数.

4. 修改net.jforum.util.preferences.TemplateKeys类,添加:

public static final String MYDWBI_CONTACT = "mydwbi.contact";

public static final String MYDWBI_AD = "mydwbi.advertisement";

5. 新建一个类:com.mydwbi.MydwbiAction

Java代码

  1. package com.mydwbi;       
  2.       
  3. import net.jforum.Command;       
  4. import net.jforum.util.preferences.TemplateKeys;       
  5.       
  6. public class MydwbiAction extends Command {       
  7.     public void list() {       
  8.     }       
  9.       
  10.     public void contact() {       
  11.         this.setTemplateName(TemplateKeys.MYDWBI_CONTACT);       
  12.     }       
  13.       
  14.     public void advertisement() {       
  15.         this.setTemplateName(TemplateKeys.MYDWBI_AD);       
  16.     }       
  17.       
  18. }      
  19. package com.mydwbi;    
  20.   
  21. import net.jforum.Command;    
  22. import net.jforum.util.preferences.TemplateKeys;    
  23.   
  24. public class MydwbiAction extends Command {    
  25. public void list() {    
  26. }    
  27.   
  28. public void contact() {    
  29. this.setTemplateName(TemplateKeys.MYDWBI_CONTACT);    
  30. }    
  31.   
  32. public void advertisement() {    
  33. this.setTemplateName(TemplateKeys.MYDWBI_AD);    
  34. }    
  35.   
  36. }   

package com.mydwbi; import net.jforum.Command; import net.jforum.util.preferences.TemplateKeys; public class MydwbiAction extends Command { public void list() { } public void contact() { this.setTemplateName(TemplateKeys.MYDWBI_CONTACT); } public void advertisement() { this.setTemplateName(TemplateKeys.MYDWBI_AD); } } package com.mydwbi; import net.jforum.Command; import net.jforum.util.preferences.TemplateKeys; public class MydwbiAction extends Command { public void list() { } public void contact() { this.setTemplateName(TemplateKeys.MYDWBI_CONTACT); } public void advertisement() { this.setTemplateName(TemplateKeys.MYDWBI_AD); } }

6. 修改jforum\templates\default\header.htm, 添加:

view plaincopy to clipboardprint?

<a /mydwbi/contact")}"> <img />${I18n.getMessage("mydwbi.contact")} </a> </span>

<a /mydwbi/advertisement")}"> <img />${I18n.getMessage("mydwbi.Advertisement")} </a> </span>

<a /mydwbi/contact")}"> <img />${I18n.getMessage("mydwbi.contact")} </a> </span>

<a /mydwbi/advertisement")}"> <img />${I18n.getMessage("mydwbi.Advertisement")} </a> </span>

7. 添加两个文件contact.htm,advertisement.htm 在目录:jforum\templates\default\下:

contact.htm:

view plaincopy to clipboardprint?

<#include "header.htm"/>

<center>

${I18n.getMessage("mydwbi.contactDesc")}:admin@mydwbi.com

</center>

<#include "bottom.htm"/>

<#include "header.htm"/>

<center>

${I18n.getMessage("mydwbi.contactDesc")}:admin@mydwbi.com

</center>

<#include "bottom.htm"/>

advertisement.htm

view plaincopy to clipboardprint?

<#include "header.htm"/>

<center>

${I18n.getMessage("mydwbi.adDesc")}:admin@mydwbi.com

</center>

<#include "bottom.htm"/>

<#include "header.htm"/>

<center>

${I18n.getMessage("mydwbi.adDesc")}:admin@mydwbi.com

</center>

<#include "bottom.htm"/>

8. 添加国际化文件:

native2ascii -encoding GBK messages.properties messages_ZH.properties

注意要加-encoding 参数,且参数值不是utf8.

548次阅读
 
披着狼皮的羊
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009