hello world

在学习 JPress 插件的 hello world 之前,建议你把 JPress 的项目已经下载到了你本地,通过此文档在对比你本地的 helloworld 插件项目,会有更好的理解。

倘若你不方便下载,也可以通过这个url进行了解:https://gitee.com/fuhai/jpress/tree/master/jpress-addons/jpress-addon-helloworld

首先,一个最基本的 插件目录结构,如下:

  1. jpress-addon-helloworld
  2. ├── pom.xml
  3. └── src
  4. ├── main
  5. ├── java
  6. └── io
  7. └── jpress
  8. └── addon
  9. └── helloworld
  10. ├── HelloWorldAddonController.java
  11. ├── xxx.java(此章节忽略)
  12. ├── resources
  13. ├── addon.txt
  14. └── config.txt
  15. └── webapp
  16. └── helloworld
  17. └── index.html
  18. └── test

这个目录结构,和一个普通的 Java maven 项目没什么区别,因为它就是一个普通的Maven项目(或者是maven module)。

唯一的区别的部分是在项目的 resources 目录下有一个 addon.txtconfig.txt 文件(config.txt不是必须的),假设一行代码都不写,只要有 addon.txt ,只需要我们把此maven模块编译成jar包后,就可以在jpress后台进行安装了,他已经是一个jpress插件。

接下来,我们来看下 HelloWroldAddonController.java 这个类,代码如下:

  1. @RequestMapping(value = "/helloworld",viewPath = "/")
  2. public class HelloWorldAddonController extends JbootController {
  3. public void index() {
  4. setAttr("version","1.0.2");
  5. render("helloworld/index.html");
  6. }
  7. public void json() {
  8. renderJson(Ret.ok().set("message", "json ok...."));
  9. }
  10. @ActionKey("/admin/addon/test")
  11. @AdminMenu(groupId = JPressConsts.SYSTEM_MENU_ADDON, text = "插件测试")
  12. public void adminmenutest() {
  13. renderText("addon test");
  14. }
  15. }

此时,当我们在JPress的后台安装此插件,并启动之后,就可以通过 http://127.0.0.1:8080/helloworld 访问到此插件的 HelloWorldAddonController.index() 方法,并正常渲染 hellowrold/index.html 的内容。