Liferay MVCActionCommand与MVCResourceCommand
在编写OSGI portlet时,我看不到Liferay MVCActionCommand与MVCResourceCommand,liferay,osgi,portlet,Liferay,Osgi,Portlet,在编写OSGI portlet时,我看不到MVCActionCommand与MVCResourceCommand之间的区别。这两个接口似乎可以互换。使用ActionResponse,您可以跳转到URL。使用ResourceResponse,我可以设置内容以查看页面上的内容 如果我需要刷新页面上的内容,即刷新特定内容,我应该使用ActionResponse吗?我在网上找到的大多数示例都使用ResourceResponse.getWriter().write(“成功”) 我如何知道何时使用Reso
MVCActionCommand
与MVCResourceCommand
之间的区别。这两个接口似乎可以互换。使用ActionResponse,您可以跳转到URL。使用ResourceResponse,我可以设置内容以查看页面上的内容
ResourceResponse
,何时不使用ActionResponse
非常感谢。分离的起源在于JavaPortlet生命周期(JSR286)。命令界面允许挂接到生命周期阶段,并提供自定义代码的执行 有三个非常不同(用途不同)的portlet url处理程序:
- MVCActionCommand执行命令、更改数据、执行操作(并且不将任何操作返回前端)
- MVCRenderCommand向客户机提供演示和视图,查看模型选择的结果,通过jsp/jsf/etc呈现数据
- MVCResourceCommand提供的内容响应:下载文件,下载json csv excel pdf
和
部分。资源请求独立存在,可以生成任意结果,例如XML、JSON、TXT、GIF、DOC等。此外,操作之后通常是呈现,而资源请求只有该单一阶段。