一个典型的Portlet应该有如下的结构:
源代码文件:
java源代码存放在<项目名>/docroot/WEB-INF/src 目录下
配置文件:
配置文件都在<项目名>/docroot/WEB-INF目录下,典型的有4个配置文件
portlet.xml是JSR-286相关的一些配置,它作为portlet的部署描述
原创
2012-05-29 10:46:16
2022阅读
Part 1: 从页面点击"Add"过程找出事件处理函数:
在Liferay中,当我们从左边选择一个Portlet并且添加的时候,会触发一系列的动作,并且最终把这个Portlet显示在页面上,现在我们就对这个神秘的过程进行窥测。
在页面上,为了找到我们点击Add之后绑定的事件处理函数,我们先找到这段代码对应的jsp页面在/html/portlet/layou
原创
2012-06-26 17:50:21
926阅读
我们已经知道了许许多多种类的处理文件上传的代码,比较典型的比如Apache大名鼎鼎的FileUpload等,当然了, Liferay为我们都考虑过了,我们可以用Liferay自带的上传文件的API来处理文件上传问题,这个核心接口就是com.liferay.portal.kernel.upload.UploadPortletRequest接口。
举个最简单的例子,比
原创
2012-09-13 13:00:12
1459阅读
引入:在Liferay中部署portlet其细节远比向tomcat部署一个web应用那么简单,这文章就来展示下其中的奥秘。分析:在这个动作发生后,它会被容器的PortletAutoDeployerListener所捕捉,从而进入到deploy()方法中:我们可以看到,第43行它其实会去打开这个压缩文件然后比较器结构是否为portlet的xml文件结构,因为满足,所以我们这里执行到第46行,换句话说
原创
2013-09-01 13:20:57
9519阅读
点赞
1评论
在portlet中都有portlet.xml,我们都可以看到下面关于安全设定对应的代码:
.. <security-role-ref> <role-name>administrator</ro
原创
2012-07-02 12:26:26
730阅读
这两天几个同学问我,怎么在Dockbar中添加语言Portlet,就像俱乐部网站的效果。
我回答过几次,但是大概时间仓促回答得太简短。其实,我早些时间分享的liferayclub-hook-6.1.0.1.war里已经包含该功能。现在正好有点点时间,写个文章贴出来共享。
首先是要修改Dockbar portlet,修改webapps\ROOT\html\po
原创
2012-08-17 20:27:34
755阅读
首先介绍一下开发环境: jdk1.5; eclipse 3.3; liferay 5.2.3;1.首先进入eclipse创建一个web project.起名为:vendorportal;2.创建一个TodoAction java类
原创
2023-02-20 17:57:26
81阅读
y例子学习 (2007-07-23 18:04) 分类: LifeRay 1. 从Liferay官方网站www.liferay.com下载安装文件liferay-portal-pro-3.2.0-tomcat.zip
转载
2023-07-03 21:40:14
49阅读
当我们使用搭建一个nexus本地仓库,并且配置settings.xml来让应用启用这个仓库。我们使用Liferay 6.1.10的archetype来创建liferay portlet, 如下图:
当我们运行命令mvn package liferay:deploy时,会出现以下错误:
[DEBUG] Using connector
推荐
原创
2012-06-05 08:49:50
1527阅读
点赞
因为这是个基于spring的web应用,所以当然我们从web.xml看起:<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:
原创
2013-02-23 14:56:38
759阅读
我们已经知道如何从页面上触发动作来激活flow的transition,我们现在思考问题,如果这个动作需要用到flowScope上的数据,那么我们如何用程序来和flowScope交互呢?
方法很简单,我们在业务方法中加一个参数,参数类型为RequestContext,用这个类就可以和flowScope进行交互了:
/** &nbs
原创
2013-02-23 17:16:30
971阅读
流控制文件很简单,就是根元素是<view>,然后用<view-state>来代表一个一个的页面,用<transition>来代表从一个状态到另外一个状态的跳转,如果有动作要执行就会加在其中。
对于一个普通的java工程师,一般不需要超过1小时就可以熟知这个文件的编写方法,可查阅相关文档。
对于我们的flow,大体上如下所示:
原创
2013-02-23 16:00:24
913阅读
我们现在来探讨流程的<view-state>问题:
因为流程代表了页面的跳转,那么我们如何才能找到view-state对应的页面呢?
我们回到envprovisioning-confg.xml,在29-33行有如下定义:
<!-- Maps logical view names selecte
原创
2013-02-23 16:29:01
777阅读
现在讨论flow页面上的动作如何关联到flow定义文件中的transition.
因为我们这个应用是liferay portlet 应用,和绝大多数portlet一样,页面上的action,一般都会使用一个portlet action url 来标识。
比如,我们想要在defineApp 这个view-state,当点击"Next" 按钮时,
原创
2013-02-23 17:01:19
781阅读
春节前我曾经为一个项目做架构,作为公司机密我无法透露这个项目的背景,但是它的实现技术主要是如下:
前端: ext-js (这个作为富客户端的javascript框架还是有极强的竞争力的,因为比较炫)
因为是个portlet,所以我们采用了spring portlet mvc,然后最终平台的实现采用的是liferay.
页面跳转:因为涉及到许多配置页面,然后这些页面上数据量比较大,
原创
2013-02-23 14:34:46
913阅读
上篇文章讲到了我们定义portlet应用级别的spring 配置文件为/WEB-INF/config/envprovisioning-config.xml ,下面我们来看下这个spring配置文件内容:
<?xml version="1.0" encoding="UTF-8"?> <
原创
2013-02-23 15:47:37
1119阅读
引入:大家在Portlet 开发中经常用到<portlet:resourceURL>,而大体上都会去调用相应的serveResource()方法,这个过程虽然大家都清楚,但是能弄明白这个过程细节的,我相信全世界不超过100人,至少我去年就这个疑惑问了我们客户的liferay专家,她不能解释。后来去年团队里Danny问过我这个问题,我当时研究了一阵也走不通,所以一直搁置了。而现在,当我花
推荐
原创
2013-09-02 17:34:20
3818阅读
liferay官网:https://www.liferay.com/中文官网: https://www.liferay.com/zh/downloads-community https://liferay.dev/projec
看这个博客:http://www.huqiwen.com/
原创
2015-07-28 17:17:31
262阅读
引入:我们有以下一个需求,比如我们在用户登录模块,登录成功后我们会得到一个authToken, 然后我们希望吧这个authToken存放在Portal级别的Session中,然后在我们的指定的Portlet中从Portal级别的Session中使用这个Session,那么如何才能做到呢?分析:很显然,我们在用户登录中[项目1:一个LoginHook](比如我们用Struts2做了一个登录Actio
原创
2013-09-24 11:16:45
2222阅读