fw4jREST - MVC 框架


GPL
跨平台
Java

软件简介

fw4jREST 是以 REST 风格设计的 MVC 框架,可以使用 Java 和 Groovy 写 Controller,使用 Java
注解声明Controller 层。

fw4jREST 是基于 fw4j
编写的,去掉了springmvc的框架注解命名方式,增加使用Groovy语言编写Controller的支持,去掉配置文件的编写,框架启动后会扫描项目下所有目录。

fw4jREST 包括的注解有:

  • Fw4jController

  • GET

  • POST

  • PUT

  • DELETE

代码示例:

java:

@Fw4jController("/admin")
public class AdminController {

    @GET("/index")
    public String index(OutParam out){
        JSHelper js = new JSHelper("nav/nav.js");
        String a = js.getMethod("nav").invoke();
        System.out.println(a);
        out.put("nav", a);
        return "request:index";
    }
}

groovy:

@Fw4jController("/websitetype")
class WebsiteTypeController{

    WebsiteTypeService websiteTypeService = null

    @Fw4jSpringIoc("WebsiteTypeService")
    void setWebsiteService(WebsiteTypeService websiteTypeService){
        this.websiteTypeService = websiteTypeService
    }



    @POST("/add")
    String add(InParam inParam){
        WebsiteType wst = new WebsiteType()
        wst.name = inParam['name']
        websiteTypeService.save(wst)
        "redirect:/WebRoot/websitetype/show"
    }

    @GET("/del")
    String del(InParam inParam){
        def id = Integer.parseInt(inParam['id'])
        websiteTypeService.del(id)
        "redirect:/WebRoot/websitetype/show"
    }

    @PUT("/total")
    String totalAdd(InParam inParam){
        def id = inParam['id']
        WebsiteType wst = this.websiteTypeService.get(id)
        wst.websiteTotalNum ++
        this.websiteTypeService.save(wst)
        "redirect:/WebRoot/websitetype/show"
    }
}

web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>fw4j</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet-mapping>
   <servlet-name>fw4j</servlet-name>
   <url-pattern>/</url-pattern>
  </servlet-mapping>
  <servlet>
     <servlet-name>fw4j</servlet-name>
     <servlet-class>com.cn.fw4j.mvc.servlet.DispatcherServlet</servlet-class>
     <load-on-startup>1</load-on-startup>
  </servlet>
 <servlet>
    <servlet-name>static</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
 </servlet> 
  <servlet-mapping>
    <servlet-name>static</servlet-name>
    <url-pattern>/static/*</url-pattern>
  </servlet-mapping>
 <servlet-mapping>
    <servlet-name>static</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>

</web-app>