当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

fw4jREST

MVC 框架
授权协议 GPL
开发语言 Java Groovy
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 薛扬
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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>




 相关资料
  • 我们在WebLogic11g下使用JSF2.1+PrimeFaces6.0+PrimeFaces-Extensions6.0.0、mojarra 2.1.7。 单击p:commandButton后,DOM inspector显示对话框已在正文和html标记之外创建,如下一个图像所示: 在正文外部呈现的对话框 如果我们使用相同的代码(没有帧)创建一个新的.xhtml,并单击p:commandButt

  • 许多的 PHP 开发者都使用框架,而不是重新造轮子来构建 Web 应用。框架抽象了许多底层常用的逻辑,并提供了有益又简便的方法來完成常见的任务。 你并不一定要在每个项目中都使用框架。有时候原生的 PHP 才是正确的选择,但如果你需要一个框架,那么有如下三种主要类型: 微型框架 全栈框架 组件框架 微型框架基本上是一个封装的路由,用来转发 HTTP 请求至一个闭包,控制器,或方法等等,尽可能地加快开

  • 主要内容:iframe - 设置高度与宽度,实例,iframe - 移除边框,实例,使用 iframe 来显示目标链接页面,实例,HTML iframe 标签通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。 iframe语法: 该URL指向不同的网页。 iframe - 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度。 属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%")。 实例 <iframe loading="lazy" s

  • tornado.web — RequestHandler and Application classes Thread-safety notes Request handlers Entry points Input Output Cookies Other Application configuration Decorators Everything else tornado.template

  • UI /主题框架和组件 LESS支持下表中列出的一些UI/Theme框架 - Sr.No. 框架和描述 1 1pxdeep 它是平坦的Bootstrap 3主题,提供强大的配色方案控件。 2 Bootflat 它是一个基于Bootstrap的开源框架。 3 BootPress 它是一个基于平面文件CMS的PHP框架 4 Bootstrap 它是功能强大的移动第一前端框架,可实现更快,更轻松的Web

  • 本章介绍 Decoder(解码器) Encoder(编码器) Codec(编解码器) 在前面的章节中,我们讨论了连接到拦截操作或数据处理链的不同方式,展示了如何使用 ChannelHandler 及其相关的类来实现几乎任何一种应用程序所需的逻辑。但正如标准架构模式通常有专门的框架,通用处理模式很适合使用目标实现,可以节省我们大量的开发时间和精力。 在这一章,我们将研究编码和解码——数据从一种特定协

  • WLAN框架接口 函数 rt_err_t  rt_wlan_set_mode (const char *dev_name, rt_wlan_mode_t mode)   注册WLAN设备到WLAN设备框架   rt_err_t  rt_wlan_connect (const char *ssid, const char *password)   同步连接热点   rt_err_t  rt_wlan

  • 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。 iframe语法: <iframe src="URL"></iframe> 该URL指向不同的网页。 Iframe - 设置高度与宽度 height 和 width 属性用来定义iframe标签的高度与宽度。 属性默认以像素为单位, 但是你可以指定其按比例显示 (如:"80%")。 <iframe src="demo_iframe.htm