liferay实现model监听
来源:互联网 发布:检测电脑硬件故障软件 编辑:程序博客网 时间:2024/05/29 12:49
liferay plugin项目中选择hook,或者在portlet中,src/main/webapp/WEB-INF下添加liferay-hook.xml
代码如下:
<?xml version="1.0"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd">
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
之后在src源目录下添加portal.properties,内容为:
value.object.listener.com.liferay.portal.model.Group=test.MyGroupListener
其中,test.MyGroupListener为test包下MyGroupListener侦听类,此为Group的侦听。
package test;
import com.liferay.portal.ModelListenerException;
import com.liferay.portal.model.BaseModelListener;
import com.liferay.portal.model.Group;
public class MyGroupListener extends BaseModelListener<Group> {
@Override
public void onAfterCreate(Group group) throws ModelListenerException {
System.out.println("group 添加="+group.getName()+group.getClassName());
}
@Override
public void onAfterUpdate(Group group) throws ModelListenerException {
System.out.println("group 添加更新后="+group.getName());
}
@Override
public void onBeforeUpdate(Group group) throws ModelListenerException {
System.out.println("group 添加更新前="+group.getName());
}
}
添加站点后,输出为:
group 添加=ccccccccccccom.liferay.portal.model.Group
group 添加更新前=cccccccccccgroup 添加更新后=ccccccccccc
对于users_groups表的监听,其是在group群组中,添加该群组的成员,其对应的是关系的添加
/*
* classPK此时为groupId,associationClassPK为userId
* */
@Override
public void onAfterAddAssociation(
Object classPK, String associationClassName,
Object associationClassPK)
throws ModelListenerException {
try {
if ("com.liferay.portal.model.User".equals(associationClassName)) {
System.out.println("监听群组添加成员");
//输出格式为:26873#com.liferay.portal.model.User#14212 associationClassName Modified.
System.out.println(classPK.toString() + "#" + associationClassName + "#" + associationClassPK.toString()
+ " associationClassName Modified.");
String groupId=classPK.toString();//群组的ID号
String userId=associationClassPK.toString();//用户的ID号
}
}
catch (Exception e) {
throw new ModelListenerException(e);
}
}
- liferay实现model监听
- [Liferay] Liferay 实现单点登录 - OpenLDAP
- [Liferay] Liferay 实现单点登录 - CAS
- Liferay:Job的实现
- liferay searchContainer 分页实现
- Liferay中portal-model-hints.xml文件的作用
- liferay spring mvc的实现
- Liferay
- Liferay
- Liferay
- liferay
- Liferay
- Liferay 用PortletSession 实现不同Liferay之间通讯
- bootstrap-model(对话框)打开关闭事件监听
- AngularJS ng-model 验证及监听
- Liferay:Struts2.X Portlet的实现
- Liferay基于CAS实现单点登录说明
- Liferay的SessiionListner功能如何实现
- csu 1808 地铁 dijkstra变形+优先队列优化
- Balsamiq Mockups 3.5.7 for Windows / Mac 简体中文汉化 最佳原型设计工具之一
- 功能名称:在线聊天功能大升级-支持直播、腾讯云IM及诸多体验
- 动态修改UINavigationBar的背景色
- Easy-UI案例使用总结
- liferay实现model监听
- 业余时间:RecyclerView的封装
- 支付宝RAS密钥生成器SHAwithRSA1024_V1.0.bat运行失败、一闪关闭
- Vert.x入门实例
- Chapter.16 Templates And Generic Programming
- DOCTYPE元素详解
- 微信小程序--常用快捷键
- Android中View点击事件传递(二)
- HDU 1176 免费馅饼【dp】