快速业务通道

使用Struts 2开发RESTful服务 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
,而是使用前面介绍的 7 个标准方法来处理用户请求。除此之外,该 Action 总是需要处理 id 请求参数,因此必须提供 id 请求参数,并为之提供对应的 setter 和 getter 方法。

使用Struts 2开发RESTful服务(5)

时间:2009-11-10 ibm 李刚

因为本系统已经提供了 Book Model 类,并且为了更好的模拟 Rails 中 ActiveController(Controller)直接访问 ActiveRecord(Model)的方式,本系统采用了 ModelDriven 的开发方式,下面是本系统中支持REST的 Action 类的代码。

// 定义返回 success 时重定向到 book Action  @Results(@Result(name="success" , type="redirectAction" , params = {"actionName" , "book"})) public class BookController extends ActionSupport  implements ModelDriven<Object> { // 封装 id 请求参数的属性  private int id; private Book model = new Book(); private List<Book> list; // 定义业务逻辑组件 private BookService bookService = new BookService(); // 获取 id 请求参数的方法 public void setId(int id) { this.id = id; // 取得方法时顺带初始化 model 对象 if (id > 0) { this.model = bookService.get(id); } } public int getId() { return this.id; } // 处理不带 id 参数的 GET 请求 // 进入首页 public HttpHeaders index() { list = bookService.getAll(); return new DefaultHttpHeaders("index") .disableCaching(); } // 处理不带 id 参数的 GET 请求 // 进入添加新图书。 public String editNew() { // 创建一个新图书 model = new Book(); return "editNew"; } // 处理不带 id 参数的 POST 请求 // 保存新图书 public HttpHeaders create() { // 保存图书 bookService.saveOrUpdate(model); addActionMessage("添加图书成功"); return new DefaultHttpHeaders("success") .setLocationId(model.getId()); } // 处理带 id 参数的 GET 请求 // 显示指定图书 public HttpHeaders show() { return new DefaultHttpHeaders("show"); } // 处理带 id 参数、且指定操作 edit 资源的 GET 请求 // 进入编辑页面 (book-edit.jsp) public String edit() { return "edit"; } // 处理带 id 参数的 PUT 请求 // 修改图书 public String update() { bookService.saveOrUpdate(model); addActionMessage("图书编辑成功!"); return "success"; } // 处理带 id 参数,且指定操作 deleteConfirm 资源的方法 // 进入删除页面 (book-deleteConfirm.jsp) public String deleteConfirm() { return "deleteConfirm"; } // 处理带 id 参数的 DELETE 请求 // 删除图书 public String destroy() { bookService.remove(id); addActionMessage("成功删除 ID 为" + id + "的图书!"); return "success"; } // 实现 ModelDriven 接口必须实现的 getModel 方法 public Object getModel() { return (list != null ? list : model); } }

使用Struts 2开发RESTful服务(6)

时间:2009-11-10 ibm 李刚

上面 Action 代码中粗体字代码定义了 7 个方法,这 7 个方法正是前面提到的标准方法。除此之外,该 Action 里还包含一个额外的 deleteConfirm() 方法,这个方法用于处理带 id 参数、且指定操作 deleteConfirm 资源的 GE

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号