我想为Liferay Portal 5.2.3创建一个PortletRequest。我目前无法在环境中以编程方式获取PortletRequest。我可以使用一些信息创建虚拟请求吗?可能吗?
最佳答案
技术答案是“当然可以”。另一方面,隐含的答案是“您为什么要?”。最大的问题是,您将希望在portletrequest中获得哪些数据?
您仅提到“在我的环境中此刻”,而没有指定这是什么。通常,如果在某个位置没有portletrequest可用,那么您要么处在应用程序的错误层中,要么处在生命周期的错误部分中。切记:Portlet API位于UI层上,在您的业务层中不应该被知道。通常,您将值从Portlet层(例如portletrequest)传递到业务层-而不传递完整的对象。
人工创建请求对象在远程意义上唯一的地方是测试用例实现,您可以在其中组成要在请求中找到的内容。即使在此处进行大量工作来创建这样的对象以测试手头操作中非常狭窄的部分,也是有争议的,但是:这是我唯一的想法。 (并不是说没有其他人,但是如果您反对,则必须给出充分的理由)