2012-09-11 56 views

回答

0

的技术答案是“是的,当然。”另一方面,暗示的答案是“你为什么想要?”。最大的问题是,您可以在portletrequest中获得哪些数据?

你刚才提到“在在我的环境中,这点”,但没有具体说明这。通常,如果在某个位置portletrequest不可用,那么您要么位于应用程序的错误层中,要么位于生命周期的错误部分。请记住:Portlet API位于UI层,不应在业务层中知道。您通常将Portlet层中的值(例如portletrequest)传递到businesslayer中 - 而不传递完整对象。

唯一的地方,它将使远程感,人为地制造一个请求对象是一个测试用例的实施,在那里你可以弥补你想在请求中找到。即使在那里,如果你做了太多的工作来创造这样一个对象,以便测试手头的极其狭窄的部分,但仍然存在争议:但这仍然是我唯一可以理解的想法。 (不是说没有其他人,但你必须给它充足的理由,如果你反对)

+1

谢谢回复这么快。我的环境是定制的liferaylogin,其中一些信息与外部ldap共享。我的目标是同步两个系统。 (LDAP和Liferay的DB) 编辑:输入-.-” 通常我会从PortalUtil.getUser(要求)中的PortletRequest得到Liferay的登录用户。没有想过我的问题的另一个解决方案,如UserLocalServiceUtil.getUserByScreenName(companyId,screenName)。 – Knoobie

+0

同步功能Liferay的使用LDAP听起来很像股票Liferay的功能,如果你与外部LDAP服务器(判断依据是单句的界面,你可以做多股票特征的做法,但考虑到去为内置的维护原因:您必须以这种方式维护更少的自定义代码,但是 - 很好,您找到了适合您的解决方案。重写肯定需要时间,请考虑更改您的下一次维护(升级)周期。 –

相关问题