我正在使用Liferay 6.2。我做了一个钩子,在User-My Acccount页面中添加了一些额外的字段。在按下这些字段时,需要调用ajax调用。我阅读lifery service override并尝试遵循相同的方法:它适用于使用新字段更新用户。
但是,对于ajax调用,我需要在某处覆盖服务资源方法。但我不知道究竟在哪里调用服务资源()。
我的方法如下:
在details.jsp
中<portlet:resourceURL var ="userProfileURL"></portlet:resourceURL>
在js中: 我通过使用AUI io请求调用ajax:我将模式作为参数传递,以检查它是否进入serveResource内部。
但是在开始提供资源之前,它给出了一个错误,说明没有定义userProfileURL。我还在jsp中包含了所需的导入。
在扩展UserServiceWrapper的userServiceImpl类中,我试图覆盖serveResource:
public void serveResource(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws PortletException {
String mode = ParamUtil.getString(resourceRequest,"mode")
if(mode.equals("getData")
{
// do needed processings & return data
}
else {
// super.serveResource(resourceRequest, resourceResponse);
}
但是我收到的错误是:
方法serveResource(ResourceRequest,ResourceResponse)未定义类型UserServiceWrapper
有没有办法在用户帐户页面的钩子中进行ajax调用,或者我是否在错误的地方做错?