Liferay Portlet 结构分解
一个典型的Portlet应该有如下的结构:
源代码文件:
java源代码存放在<项目名>/docroot/WEB-INF/src 目录下
配置文件:
配置文件都在<项目名>/docroot/WEB-INF目录下,典型的有4个配置文件
portlet.xml是JSR-286相关的一些配置,它作为portlet的部署描述文件
剩余3个配置文件都是和Liferay相关的:
liferay-display.xml 文件显示portlet在Add菜单的哪个分类下
liferay-portlet.xml 文件显示Liferay对JSR-286做了哪些增强,比如配置某个portlet是否是实例化的,如下面代码第6行所示:
- <liferay-portlet-app>
- <portlet>
- <portlet-name>clusternodeinfoportlet</portlet-name>
- <icon>/icon.png</icon>
- <instanceable>false</instanceable>
- <header-portlet-css>/css/main.css</header-portlet-css>
- <footer-portlet-javascript>/js/main.js</footer-portlet-javascript>
- <css-class-wrapper>clusternodeinfoportlet-portlet</css-class-wrapper>
- </portlet>
- <role-mapper>
- <role-name>administrator</role-name>
- <role-link>Administrator</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>guest</role-name>
- <role-link>Guest</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>power-user</role-name>
- <role-link>Power User</role-link>
- </role-mapper>
- <role-mapper>
- <role-name>user</role-name>
- <role-link>User</role-link>
- </role-mapper>
- </liferay-portlet-app>
liferay-plugin-package.properties 文件一般用于配置这个portlet所依赖jar包,然后这个portlet会被打包成war.
资源文件:
客户端的资源文件分别在<项目名>/docroot/目录下的js,css,html 目录下。需要注意的是,所有的html/jsp文件都不应该有全局的头比如<html><head>,所有的js,css文件都应该在指定名字空间中。
比如我们写的一段jsp页帧:
- <%--
- /**
- * Copyright (c) 2000-2010 Liferay, Inc. All rights reserved.
- *
- * This library is free software; you can redistribute it and/or modify it under
- * the terms of the GNU Lesser General Public License as published by the Free
- * Software Foundation; either version 2.1 of the License, or (at your option)
- * any later version.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
- * details.
- */
- --%>
- <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
- <portlet:defineObjects />
- <h4>
- This is the <b>ClusterNodeInfoPortlet</b> portlet in View mode.
- It will display the node information in the cluster.<br>
- </h4>
- <br>
- <jsp:useBean id="serverName" class="java.lang.String" scope="request" />
- <jsp:useBean id="serverPort" class="java.lang.String" scope="request"/>
- <jsp:useBean id="sessionId" class="java.lang.String" scope="request"/>
- <jsp:useBean id="portletSessionId" class="java.lang.String" scope="request"/>
- <jsp:useBean id="portalInfo" class="java.lang.String" scope="request"/>
- <b><font color="red">Cluster Node Information:</font></b><br>
- <b>Current Server Name:</b> <%=serverName%> <br>
- <b>Current Server Port:</b> <%=serverPort%> <br>
- <b>Current Session Id: </b> <%=sessionId %> <br>
- <b>Current Portlet Session Id:<%=portletSessionId %></b>
- <b>Current Portal Info:<%=portalInfo%></b>
- <!--
- get the original http session
- -->
- <b>Current Server Session Id:<%=session.getId() %></b>
- <hr>
可以看出,这段页面是没有全局的标记<html><head>的
Liferay Portlet 结构分解相关推荐
- Page9:结构分解以及系统内部稳定和BIBO稳定概念及其性质[Linear System Theory]
内容包含系统能控性结构分解.系统能观测性结构分解以及系统结构规范分解原理,线性系统的内部稳定.BIBO稳定概念及其性质 转载于:https://www.cnblogs.com/ERFishing/p/ ...
- liferay+portlet+开发实例
Liferay Portlet开发简单说明 我们看到无论是portal和ext工程,目录都很繁杂,其实我们只要关注3个目录就够了. portal里面的ext-impl\src,ext-service\ ...
- 现代控制理论6——能控、能观及其对偶原理、线性变换、结构分解
注:本文是在MOOC平台上学习西北工业大学<现代控制理论基础>(郭建国.赵斌.郭宗易)的课程进行随笔记录与整理 一.凯莱-哈密尔顿定理 任何一个n阶矩阵,其n到0次幂都是线性相关的,其线性 ...
- Sage X3 ERP-PJM结构分解
Sage X3 ERP-PJM结构分解 项目管理的结构分解 在项目管理中,如何定义项目本身是关键,WBS(Work Breakdown Structure 项目任务分解).PBS(Product Br ...
- Page8:对偶原理以及结构分解[Linear System Theory]
内容包含状态转移矩阵的对偶性.方块图的对偶性.时序的对偶性以及对偶性原理,能控能观标准型及其结构分解 转载于:https://www.cnblogs.com/ERFishing/p/10314700. ...
- 项目范围定义与创建工作结构分解
范围定义 输入 工具与技术 输出 1.组织过程资产 2.项目章程 3.范围说明书(初步) 4.项目范围管理计划 5.批准的变更申请 1.产品分析 2.备选方案识别 3.专家判断 4.项目干系人分析 1 ...
- liferay portlet二次开发多个ajax数据传递
最近需要使用liferay,在进行portlet开发时需要使用到多个ajax数据的传递,现将代码粘帖如下: 也欢迎大家加入一起讨论群:427070805 portlet view.jsp代码如下: & ...
- Sage X3 PJM结构分解示例详解
在<详解项目管理中任务.成本.产品三者的关系>一文中,对项目管理从任务.成本.产品的角度结构进行了分解,重点阐述了三者的关系. 本文以一个塔式起重机为例,直观的展示三者的关系. 塔式起重机 ...
- Sage X3 PJM结构分解示例详解(项目管理)
在<详解项目管理中任务.成本.产品三者的关系>一文中,对项目管理从任务.成本.产品的角度结构进行了分解,重点阐述了三者的关系. 本文以一个塔式起重机为例,直观的展示三者的关系. 塔式起重机 ...
最新文章
- 生产型机器学习已经没那么困难了?
- 数据中心支持物联网的5种方式
- python 面向对象(类)--学习笔记
- 这个浮躁的年代,时刻提醒自己
- Android类库介绍
- 局域网网络风暴检测工具_【思唯网络学院】从原理到配置,最全的VLAN说明就在这了!...
- 口红机源码运营版对接CC支付源码
- core dump python_python 源码笔记 ---- freeblock
- 数据中心的重要服务器如何保护?
- if函数判断单元格颜色_IF条件函数10大用法完整版,全会是高手,配合SUMIF,VLOOKUP更逆天...
- mysql正则防注入_防止sql注入的方法
- 税控盘版开票助手开发
- 几何画板椭圆九种画法_椭圆的画法几何画板的动画演示
- Unity3D for VR 学习(2): 暴风魔镜框架探索
- 【新手必看】全网最全平面设计理论基础知识,平面设计重要理论
- 输入年份 计算 生肖 C语言实现
- excel高级筛选怎么用_Excel工作表中如何使用高级筛功能来实现多条件筛选
- UVa 11223 - O: dah dah dah!
- Ruff 公开课回顾——物联网应用已经落地,区块链技术紧随其后
- 【PAT甲级】1131 Subway Map