设为首页 加入收藏

TOP

Struts2的零配置和REST插件
2014-11-24 14:51:41 来源: 作者: 【 】 浏览:66
Tags:Struts2 配置 REST 插件




看到上面的表格是不是了解了呢?Struts2总是以action、actions、struts、struts2包为根包,来映射成对应的URL访问路径。


而访问Action的名字,也应遵循两个规则,第一:如果类名包含Action后缀,那么把Action后缀去掉;第二:将以骆驼命名法的类名转成中画线写法,所有的字母都小写,单词之间用中画线分割。比如:


以上按照这些约定,Strtus2就会自动识别Action类,并正常访问它们了。编写Action则于从前未使用零配置插件一样,没有任何不同。


说完了Action,那么Result如何映射呢?因为很少有Action不返回逻辑视图的,零配置插件也提供了映射Result的约定。默认情况下,Result使用:action的URL + Result返回值 + 后缀 来做约定。例如当一个UserAction返回success时,Strus2就会查找user-success.jsp作为视图资源。而Struts2默认查找的地方在/WEB-INF/content目录下,那当然了,如果视图资源不是jsp文件,那也是一样的。比如LoginAction返回error,并且结果类型为FreeMarker,结果视图为login-error.ftl。


而JSP等视图资源也没有什么特别之处,到此为止,配置全部由约定完成,无需配置struts.xml文件。


但上面曾说过,如果要改变默认搜索包的名字,要怎样呢?只需在struts.xml文件中写入如下配置即可:



查找以“Controller”结尾的类为Action类



指定哪些包为搜索Action的根包



排除掉不搜索的包


还有很多可以改变Struts2的默认规则,其他可参阅文档。


而REST插件可以让Struts2实现RESTful风格的URL访问资源方式,具体REST风格是什么,可以参阅《RESTful Webservice》这本书。


其实Struts2本质上是一个MVC框架,而REST插件是将原本的URL转换成RESTful风格的URL而已, REST插件中RestActionMapper负责接收参数,把HTTP的请求方式分别用7个方法来做出处理:


而使用了REST插件之后,Action类就不使用execute()方法来处理用户请求了,而是上面的7个方法来实现。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Spring 3中新增的@value注解 下一篇HTML5中新增的测量页面加载的时间..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: