我最近研究过使用Liferay 6.1的Android应用程序。但是,我很难使用Liferay API更新自定义字段的值。
我将自定义字段挂钩到users_admin portlet user / details.jsp并使公共视图可访问:
<liferay-ui:custom-attribute
className="com.liferay.portal.model.User"
classPK="<%= (selUser != null) ? selUser.getUserId() : 0 %>"
editable="<%= true %>"
label="<%= true %>"
name="Course"
/>
还挂钩到登录portlet create_account.jsp:
<div>
<liferay-ui:custom-attribute
className="<%= User.class.getName() %>"
classPK="<%= 0 %>"
editable="<%= true %>"
label="<%= true %>"
name="Course"
/>
</div>
因此,我需要一个自定义Web服务来通过http客户端访问这些值以发布/获取值。知道从哪里开始寻找? 我已经尝试了几个webservice教程,但没有提供有关访问自定义字段的expando值的特定解决方案。
这大致是我坚持的:
移动应用 - &gt; Liferay API - &gt;更新自定义字段信息
移动应用 - &gt; Liferay API - &gt;检索自定义字段信息
答案 0 :(得分:0)
正如您已经提到的神奇词“Expando”,您已经知道要查看的位置:检查docs中的Expando*Service
(注意:Web服务将以*Service
结尾,而“本地”服务将以*LocalService
结尾。
使用Expandos感觉有点像使用表的准系统:有一个ExpandoTable,ExpandoColumn和ExpandoValue。如果您对使用LocalService的示例(对不起,没有Web服务)感到满意,您可能需要检查使用Expando属性的this little extension到Liferay,特别是在PodcastingUtil.getEnclosure(...)
中。
代码库应该足够小,以便了解Expandos的基本处理,否则请告诉我开放式问题。在没有查找的情况下,我希望远程接口与我在该项目中使用的本地接口非常相似。