Vic*_*tor 5 annotations spring-mvc spring-portlet-mvc
之间的差异@RequestMapping,@ActionMapping并@RenderMapping没有对我很清楚.似乎所有上述内容最终都将请求URL映射到控制器中的实际方法.那么区别是什么呢?什么可以这样做@Rendermapping不能被做@Requestmapping?
Mar*_*ley 11
@RequestMapping允许您指定模式(EDIT,VIEW等)和许多其他选项(尽管不是窗口状态).@RenderMapping允许您仅指定请求参数和窗口状态(MAXIMIZED,NORMAL等),并且是指示渲染请求映射的便捷方式.您可以在同一个类上使用这两个注释.例如,您可能在类级别注释与RequestMapping,以表明它服务于VIEW模式的请求,然后在方法级别注释处理程序与具体要求@RenderMapping(或@ActionMapping或@ResourceMapping).
现在谈谈不同类型的请求可能会有所帮助.
渲染请求用于呈现HTML,因此通常会显示JSP或其他类型的视图.
操作请求用于执行诸如修改数据,上载文件等操作.重要的是要注意每个操作请求之后是渲染请求.因此,如果您的页面上有两个portlet,并且您向portlet发出了一个操作请求,那么它将收到一个操作请求,后跟一个呈现请求.Portlet 2只会收到一个渲染请求.
还有另一种类型的请求,你没有提到它也是有意义的
资源请求可用于呈现其他内容类型.AJAX是资源请求的常见用例,因为它们适用于返回JSON或XML.
事件请求也存在,可用于portlet间通信.
我可以推荐Spring portlet文档.虽然它们没有很好地覆盖注释,但它们确实解释了不同的请求类型,您应该能够使用该信息来计算注释.
NB.您可以根据@RequestMapping需要定义渲染,操作和资源请求,但是@RenderMapping,@ActionMapping或@ResourceMapping提供更方便的方法.
| 归档时间: |
|
| 查看次数: |
14070 次 |
| 最近记录: |