快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
行:

<!-- 定义支持REST的 ActionMapper -->

<bean type="org.apache.struts2.dispatcher.mapper.ActionMapper"

name="rest" class="org.apache.struts2.rest.RestActionMapper" />

通过查看 RestActionMapper 的 API 说明,我们发现它可接受如下几个参数:

struts.mapper.idParameterName:用于设置 ID 请求参数的参数名,该属性值默认是 id。

struts.mapper.indexMethodName:设置不带 id 请求参数的 GET 请求调用 Action 的哪个方法。该属性值默认是 index。

struts.mapper.getMethodName:设置带 id 请求参数的 GET 请求调用 Action 的哪个方法。该属性值默认是 show。

struts.mapper.postMethodName:设置不带 id 请求参数的 POST 请求调用 Action 的哪个方法。该属性值默认是 create。

struts.mapper.putMethodName:设置带 id 请求参数的 PUT 请求调用 Action 的哪个方法。该属性值默认是 update。

struts.mapper.deleteMethodName:设置带 id 请求参数的 DELETE 请求调用 Action 的哪个方法。该属性值默认是 destroy。

struts.mapper.editMethodName:设置带 id 请求参数、且指定操作 edit 资源的 GET 请求调用 Action 的哪个方法。该属性值默认是 edit。

struts.mapper.newMethodName:设置不带 id 请求参数、且指定操作 edit 资源的 GET 请求调用 Action 的哪个方法。该属性值默认是 editNew。

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

时间:2009-11-10 ibm 李刚

在RestActionMapper的方法列表中,我们看到 setIdParameterName、setIndexMethodName、setGetMethodName、setPostMethodName、setPutMethodName、setDeleteMethodName、setEditMethodName、setNewMethodName 等方法,这些方法对应为上面列出的方法提供 setter 支持。

通常情况下,我们没有必要改变 RestActionMapper 的参数,直接使用这些参数的默认值就可支持 Rails 风格的REST。根据前面介绍可以看出:支持REST风格的 Action 至少包含如下 7 个方法:

index:处理不带 id 请求参数的 GET 请求。

show:处理带 id 请求参数的 GET 请求。

create:处理不带 id 请求参数的 POST 请求。

update:处理带 id 请求参数的 PUT 请求。

destroy:处理带 id 请求参数的 DELETE 请求。

edit:处理带 id 请求参数,且指定操作 edit 资源的 GET 请求。

editNew:处理不带 id 请求参数,且指定操作 edit 资源的 GET 请求。

如果请求需要向服务器发送 id 请求参数,直接将请求参数的值附加在 URL 中即可。表 12.3 显示了 RestActionMapper 对不同 HTTP 请求的处理结果。

表 12.3 RestActionMapper 对 HTTP 请求的处理

HTTP 方法 URI 调用 Action 的方法 请求参数
GET /book index  
POST /book create  
PUT /book/2 update id=2
DELETE /book/2 destroy id=2
GET /book/2 show id=2
GET /book/2/edit edit id=2
GET /book/new editNew
  不幸地是,标准 HTML 语言目前根本不支持 PUT 和 DELETE 两个操作,为了弥补这种不足,REST 插件允许开发

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号