国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
jetspeed psml
原文出處:
http://portals.apache.org/jetspeed-2/guides/guide-psml.html
Page
Defaults
Layout Fragments
Portlet Fragments
Fragment Properties
Portlet Preferences
Folder
Link
Global Page Security
Titles and Metadata
Security Constraints
Menus
PSML是門戶結(jié)構(gòu)標(biāo)記語(yǔ)言(Portal Structure MarkupLanguage)的縮寫(xiě)。它是用來(lái)在jetspeed中進(jìn)行內(nèi)容結(jié)構(gòu)化和抽象的。PSML定義了在一個(gè)portal頁(yè)面上如何將portlets進(jìn)行整合、布局、裝飾的。注意,頁(yè)面規(guī)劃并不是Portlet標(biāo)準(zhǔn)接口,因此PSML是jetspeed自己的實(shí)現(xiàn)方式。同時(shí)需要聲明的是PMSL在jetspeed-2里不同于jetspeed-1。這篇文章可以作為對(duì)PSML資源元素描述的一個(gè)參考指南。
PSML文件也可以獲得其它相關(guān)的門戶站點(diǎn)信息,如頁(yè)、文件夾、鏈接和全局安全限制。每個(gè)這些主要的PSML元素都可以從文件系統(tǒng)中各層目錄里定義的不同文件中獲得。通常的,這個(gè)目錄在jetspeed應(yīng)用的/WEB-INF/pages下。
下面是一個(gè)關(guān)于page定義的例子:
<?xml version="1.0" encoding="UTF-8"?>
<page>
<!-- page info -->
<title>Welcome to Jetspeed 2</title>
<metadata name="title" xml:lang="fr">Ma Premiere Page de PSML</metadata>
<metadata name="title" xml:lang="es">¡Bienvenido a Jetspeed 2!</metadata>
<metadata name="title" xml:lang="hu">Köszönti a Jetspeed 2!</metadata>
<!-- page decoration -->
<defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
<!-- page fragments -->
<fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="100939" type="portlet" name="j2-admin::LocaleSelector">
<property layout="OneColumn" name="row" value="0"/>
</fragment>
<fragment id="100345" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
<property layout="OneColumn" name="row" value="1"/>
<property layout="TwoColumns" name="sizes" value="33%,66%"/>
<fragment id="100121" type="portlet" name="j2-admin::LoginPortlet">
<property layout="TwoColumns" name="row" value="0"/>
<property layout="TwoColumns" name="column" value="0"/>
</fragment>
<fragment id="100171" type="portlet" name="demo::UserInfoTest">
<property layout="TwoColumns" name="row" value="0"/>
<property layout="TwoColumns" name="column" value="1"/>
</fragment>
</fragment>
</fragment>
<!-- security constraints -->
<security-constraints>
<security-constraints-ref>public-view</security-constraints-ref>
</security-constraints>
</page>
下面是一個(gè)關(guān)于folder定義的例子(folder.metadata):
<?xml version="1.0" encoding="UTF-8"?>
<folder>
<!-- folder description -->
<title>Root Folder</title>
<metadata name="title" xml:lang="fr">Répertoire racine</metadata>
<metadata name="title" xml:lang="es">Carpeta raiz</metadata>
<!-- order of documents in folder -->
<document-order>Jetspeed2.link</document-order>
<document-order>Jetspeed2Wiki.link</document-order>
<document-order>apache_portals.link</document-order>
<document-order>apache.link</document-order>
<!-- portal site menus -->
<menu name="page-navigations">
<separator>
<text>Top Pages</text>
<metadata name="text" xml:lang="fr">Page haut</metadata>
<metadata name="text" xml:lang="es">Páginas más populares</metadata>
</separator>
<options>/Administrative</options>
<separator>
<text>Profiled Pages</text>
<metadata name="text" xml:lang="es">Páginas del Perfil</metadata>
</separator>
<options regexp="true">/p[0-9][0-9][0-9].psml</options>
<separator>
<text>Non Java Pages</text>
<metadata name="text" xml:lang="es">Ejemplos sin java</metadata>
</separator>
<options>/non-java</options>
</menu>
<!-- security constraints -->
<security-constraints>
<security-constraints-ref>public-view</security-constraints-ref>
</security-constraints>
</folder>
下面是一個(gè)關(guān)于link定義的例子(*.link):
<?xml version="1.0" encoding="UTF-8"?>
<link target="top">
<!-- link description -->
<title>Jetspeed 2 Home Page</title>
<url>http://portals.apache.org/jetspeed-2/</url>
<metadata name="title" xml:lang="es">Jetspeed 2</metadata>
</link>
下面是一個(gè)關(guān)于page security定義的例子(page.security):
<?xml version="1.0" encoding="UTF-8"?>
<page-security>
<!-- global admin constraints -->
<security-constraints-def name="admin">
<security-constraint>
<roles>admin</roles>
<permissions>view, edit</permissions>
</security-constraint>
</security-constraints-def>
<global-security-constraints-ref>admin</global-security-constraints-ref>
<!-- public constraints -->
<security-constraints-def name="public-view">
<security-constraint>
<users>*</users>
<permissions>view</permissions>
</security-constraint>
</security-constraints-def>
<security-constraints-def name="public-edit">
<security-constraint>
<users>*</users>
<permissions>view, edit</permissions>
</security-constraint>
</security-constraints-def>
</page-security>
Page:
<page>元素是一個(gè)簡(jiǎn)單的容器可包含與portal站點(diǎn)頁(yè)面有關(guān)的其他PSML元素。這個(gè)元素一直定義在以.pmsl為擴(kuò)展名的文件中,此文件存放在與父文件夾相關(guān)的適當(dāng)文件目錄中。在page元素中有兩個(gè)有效屬性:
屬性
描述
hidden
一個(gè)布爾屬性,用來(lái)說(shuō)明page是否應(yīng)當(dāng)出現(xiàn)在門戶站點(diǎn)菜單或其他導(dǎo)航元素里。
version
一個(gè)通用版本跟蹤的屬性。目前在jetspeed2中并不使用。
<page>元素包含一些其他的PSML元素:
元素
描述
title?
缺省的頁(yè)面標(biāo)題。這個(gè)頁(yè)面標(biāo)題被當(dāng)作是一個(gè)詳細(xì)描述,并且在一些decorators中如果short-title被當(dāng)作菜單標(biāo)題的話可用作滾動(dòng)的文本說(shuō)明。如果沒(méi)有指定,Jetspeed2將試圖定義一個(gè)標(biāo)題從包含page元素的文件名。
short-title?
可選元素,定義缺省的頁(yè)面短標(biāo)題。在一些decorators中被當(dāng)作菜單標(biāo)題。如果沒(méi)有指定,使用title內(nèi)容。
defaults
為頁(yè)面和其中的片段指定裝飾(decorations)。每個(gè)頁(yè)面都需要此元素。
fragment
分層片段的根。所有頁(yè)面都需要一個(gè)根片段。
metadata*
為頁(yè)面指定當(dāng)?shù)卣Z(yǔ)言的標(biāo)題和短標(biāo)題。
menu*
為頁(yè)面指定額外的或忽略被繼承的菜單。
security-
constraints?
定義頁(yè)面的內(nèi)部安全約束。如果沒(méi)有指定,繼承父文件夾的安全約束。
Defaults:
在page元素中的<defaults>元素定義了缺省的布局裝飾和缺省的portlet裝飾。缺省的布局裝飾應(yīng)用于所有的沒(méi)有decorator屬性的布局片段。缺省的portlet裝飾應(yīng)用于所有的沒(méi)有decorator屬性的portlet片段。defaults元素包含三個(gè)屬性:
屬性
描述
layout-
decorator
用來(lái)展現(xiàn)頁(yè)面的布局裝飾名稱。這個(gè)屬性為必填項(xiàng)。
portlet-
decorator
用來(lái)展現(xiàn)頁(yè)面片段的缺省portlet裝飾名稱。這個(gè)屬性為可選項(xiàng),但一般都設(shè)置。
skin
一個(gè)通用的裝飾屬性,在decorators中引用去控制頁(yè)面和片段的表達(dá)。目前在Jetspeed2中并沒(méi)使用。
例子:
<page>
...
<defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/>
...
</page>
Layout Fragments:
在page元素中的布局<fragment>元素是一個(gè)分層的容器,用來(lái)保存portlet片段和嵌套的布局片段。Page元素的根片段必須是一個(gè)布局片段,即使這個(gè)頁(yè)面只有一個(gè)portlet片段。布局片段依賴于父布局片段因此支持’row’和’column’布局特性。另外,也支持’sizes’特性來(lái)控制多層列的布局特性。這個(gè)元素有三個(gè)必須的屬性:
屬性
描述
id
必填項(xiàng)。用來(lái)識(shí)別片段,在整個(gè)站點(diǎn)所有的片段中必須是唯一的。這個(gè)值對(duì)于Jetspeed2是不透明的,可以遵循任何一種可產(chǎn)生唯一值的約定。因?yàn)槠我苍S由Jetspeed2內(nèi)部緩存了,對(duì)退出頁(yè)的任何修改都需要新的ids來(lái)保證修改被Jetspeed2獲得。
type
必填項(xiàng)。所有布局片段都必須設(shè)置為’layout’。
name
必填項(xiàng)。用來(lái)識(shí)別片段布局的portlet名稱。這個(gè)名稱產(chǎn)生來(lái)自于在portlet.xml文件里指定的’portlet-app-id::portlet-id’。下面列出了在Jetspeed2支持的布局portlet名稱:
jetspeed-layouts::FrameLayoutPortlet
jetspeed-layouts::VelocityOneColumn
jetspeed-layouts::VelocityOneColumnNoActions
jetspeed-layouts::VelocityThreeColumns
jetspeed-layouts::VelocityThreeColumnsNoActions
jetspeed-layouts::VelocityThreeColumnsTable
jetspeed-layouts::VelocityTwoColumns
jetspeed-layouts::VelocityTwoColumns2575
jetspeed-layouts::VelocityTwoColumns2575NoActions
jetspeed-layouts::VelocityTwoColumnsNoActions
jetspeed-layouts::VelocityTwoColumnsSmallLeft
jetspeed-layouts::VelocityTwoColumnsSmallLeftNoActions
jetspeed-layouts::VelocityTwoColumnsTable
布局<fragment>元素包含一些其他的PSML元素:
元素
描述
fragment*
指定的片段元素不是被這個(gè)布局片段布置的portlet片段就是嵌套的布局片段。所有的子片段都需要有property元素來(lái)指定他們?cè)谶@個(gè)布局中的位置。在布局片段中的片段不會(huì)導(dǎo)致沒(méi)有內(nèi)容產(chǎn)生。
property*
布局片段可以有一個(gè)可選的’sizes’特性用來(lái)指定多層列的布局比例。嵌套的布局片段也可以有’row’和/或’column’特性來(lái)確定在父布局中它自己的位置。
security-
constraints?
可選項(xiàng),在片段和它的子片段中定義的內(nèi)部安全約束。Unlike、頁(yè)、文件夾和鏈接約束,只有’view’權(quán)限可以被約束。如果沒(méi)有指定,片段繼承在page中定義的安全約束。
例子:
<page>
...
<fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn">
<fragment id="100939" type="portlet" name="j2-admin::LocaleSelector">
<property layout="OneColumn" name="row" value="0"/>
</fragment>
<fragment id="100345" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
<property layout="OneColumn" name="row" value="1"/>
<property layout="TwoColumns" name="sizes" value="33%,66%"/>
<fragment id="100121" type="portlet" name="j2-admin::LoginPortlet">
<property layout="TwoColumns" name="row" value="0"/>
<property layout="TwoColumns" name="column" value="0"/>
</fragment>
<fragment id="100171" type="portlet" name="demo::UserInfoTest">
<property layout="TwoColumns" name="row" value="0"/>
<property layout="TwoColumns" name="column" value="1"/>
</fragment>
</fragment>
</fragment>
...
</page>
Portlet Fragments:
portlet<fragment>用來(lái)識(shí)別頁(yè)面中的portlets。Portlet片段依賴于父布局片段因此支持’row’和’column’布局特性。這個(gè)元素包含下列屬性:
屬性
描述
id
必填項(xiàng)。用來(lái)識(shí)別片段,在整個(gè)站點(diǎn)所有的片段中必須是唯一的。這個(gè)值對(duì)于Jetspeed2是不透明的,可以遵循任何一種可產(chǎn)生唯一值的約定。因?yàn)槠我苍S由Jetspeed2內(nèi)部緩存了,對(duì)退出頁(yè)的任何修改都需要新的ids來(lái)保證修改被Jetspeed2獲得。
type
必填項(xiàng)。所有portlet片段都必須設(shè)置為’portlet’。
name
必填項(xiàng)。用來(lái)識(shí)別片段布局的portlet名稱。這個(gè)名稱產(chǎn)生來(lái)自于在portlet.xml文件里指定的’portlet-app-id::portlet-id’。
skin
一個(gè)通用的裝飾屬性,在decorators中引用去控制頁(yè)面和片段的表達(dá)。目前在Jetspeed2中并沒(méi)使用。
decorator
用來(lái)展現(xiàn)片段的缺省portlet裝飾名稱。這個(gè)屬性是可選項(xiàng),但如果沒(méi)有指定的話page元素中的defaults元素就必須指定一個(gè)缺省的portlet裝飾。
state
portlet片段的初始狀態(tài)。目前這個(gè)屬性的唯一值是’hidden’。
Portlet<fragment>包含一些其他的PSML元素:
元素
描述
property*
父片段可能有’row’和/或’column’特性來(lái)確定在父布局中的位置地點(diǎn)。
title?
可選項(xiàng),portlet片段標(biāo)題的文本元素??珊雎栽趐ortlet.xml中的title設(shè)置。
preference*
在portlet片段里指定最初的用戶選項(xiàng)設(shè)置,忽略在portlet.xml中設(shè)置的portlet選項(xiàng)。反之,User preferences 忽略這些值
security-
constraints?
可選項(xiàng),在片段中定義的內(nèi)部安全約束。Unlike、頁(yè)、文件夾和鏈接約束,只有’view’權(quán)限可以被約束。如果沒(méi)有指定,片段繼承在page中定義的安全約束。
例子:
<fragment id="100393" type="layout" name="jetspeed-layouts::VelocityOneColumn">
...
<fragment id="100939" type="portlet" name="j2-admin::LocaleSelector">
<property layout="OneColumn" name="row" value="0"/>
</fragment>
...
</fragment>
Fragment Properties:
fragment的<property>元素用來(lái)指定片斷的特性。這些特性通常是用來(lái)指定portlet布局參數(shù)和portlet在頁(yè)面上的位置地點(diǎn)。Property元素有3個(gè)屬性:
屬性
描述
layout
(deprecated)
與特性相關(guān)的布局片段portlet符號(hào)名。這個(gè)屬性支持兼容性。布局和portlet片段的嚴(yán)格的分層結(jié)構(gòu)說(shuō)明任何一個(gè)單獨(dú)的片段和它的特性都依賴于一個(gè)布局片段portlet。
name
片段特性名稱。Jetspeed2布局portlets支持’row’,’column’和’sizes’3個(gè)特性。
value
片段特性值。’row’和’column’允許基于0的值,’sizes’特性允許HTML框架標(biāo)記’rows’和’cols’屬性(比如,’25%,75%’)。
例子:
<fragment id="100876" type="portlet" name="j2-admin::LoginPortlet">
...
<property layout="TwoColumns" name="row" value="2"/>
<property layout="TwoColumns" name="column" value="1"/>
...
</fragment>
<fragment id="103456" type="layout" name="jetspeed-layouts::VelocityTwoColumns">
...
<property layout="TwoColumns" name="sizes" value="33%,66%"/>
...
</fragment>
Preference:
portlet fragment中的<preference>元素允許定義portlet選項(xiàng)。為在頁(yè)面中的portlet實(shí)例設(shè)置缺省的portlet選項(xiàng)提供了一種更簡(jiǎn)便的方法,不需要在portlet應(yīng)用的portlet.xml文件里復(fù)制一個(gè)portlet定義。
選項(xiàng)的優(yōu)先順序:用戶定義>片段定義>portlet.xml定義
<preference>元素的屬性:
屬性
描述
name
選項(xiàng)名稱
readOnly
布爾型,標(biāo)示用戶是否可以改變這個(gè)選項(xiàng)值。
<preference>元素包含的元素:
元素
描述
value+
與選項(xiàng)相關(guān)的值,文本元素。
例子:
<fragment id="uhtemp-1012" type="portlet" name="demo::BookmarkPortlet">
...
<preference name="Google" readOnly="false">
<value>http://www.google.com</value>
</preference>
...
</fragment>
Folder:
<folder>元素是一個(gè)簡(jiǎn)單的容器,用來(lái)保存與一個(gè)門戶站點(diǎn)文件夾相關(guān)的其他PSML元素。這個(gè)元素定義在相關(guān)的文件系統(tǒng)目錄下的folder.metadata文件里。包含兩個(gè)屬性:
屬性
描述
hidden
一個(gè)布爾屬性,用來(lái)說(shuō)明folder是否應(yīng)當(dāng)出現(xiàn)在門戶站點(diǎn)菜單或其他導(dǎo)航元素里。
version
一個(gè)通用版本跟蹤的屬性。目前在jetspeed2中并不使用。
<folder>元素包含了一些其他的PSML元素:
元素
描述
title?
缺省的文件夾標(biāo)題。這個(gè)文件夾標(biāo)題被當(dāng)作是一個(gè)詳細(xì)描述,并且在一些decorators中如果short-title被當(dāng)作菜單標(biāo)題的話可用作滾動(dòng)的文本說(shuō)明。如果沒(méi)有指定,Jetspeed2將試圖定義一個(gè)標(biāo)題從包含folder元素的文件名。
short-title?
可選項(xiàng),定義缺省的文件夾短標(biāo)題。在一些decorators中被當(dāng)作菜單標(biāo)題。如果沒(méi)有指定,使用title內(nèi)容。
default-page?
可 選項(xiàng),定義這個(gè)文件夾缺省頁(yè)面或子文件夾的名稱。當(dāng)文件夾在門戶中被直接引用時(shí)使用缺省頁(yè)。在這個(gè)文件夾中的任何頁(yè)或文件夾的名稱可以被指定(包括父文件 夾的’..’)。如果缺省頁(yè)沒(méi)有設(shè)置,’default-page.psml’將被使用;如果’default-page.psml’不存在,則這個(gè)文件 夾中的第一個(gè)頁(yè)將變?yōu)槿笔№?yè)。
document-
order*
一個(gè)簡(jiǎn)單元素的任意集合,包括用來(lái)定義page、子文件夾和鏈接成員的排序次序的一個(gè)文本名稱。成員根據(jù)匹配的名字被安排在這些定義的元素次序里。其他的成員將通過(guò)名字被存儲(chǔ)并且在那些匹配的成員之后出現(xiàn)在菜單和其他的列表里。不支持命名匹配的正則表達(dá)式。
metadata*
為文件夾指定當(dāng)?shù)卣Z(yǔ)言的標(biāo)題和短標(biāo)題。
menu*
為文件夾指定額外的或忽略被繼承的菜單。
security-
constraints?
定義文件夾的內(nèi)部安全約束。如果沒(méi)有指定,繼承父文件夾的安全約束。
Link:
<link>元素是一個(gè)簡(jiǎn)單的容器,用來(lái)保存與一個(gè)門戶站點(diǎn)鏈接相關(guān)的其他PSML元素。門戶鏈接用來(lái)涉及門戶站點(diǎn)外部的一些內(nèi)容。這個(gè)元素定義在與父floder相關(guān)的文件系統(tǒng)目錄下的以’.link’為后綴的文件里。包含兩個(gè)屬性:
屬性
描述
target
一個(gè)能打開(kāi)外部?jī)?nèi)容的任意目標(biāo)框架名稱。如果沒(méi)有指定,鏈接的內(nèi)容將取代門戶出現(xiàn)在瀏覽器中。
version
一個(gè)通用版本跟蹤的屬性。目前在jetspeed2中并不使用。
<link>元素包含了一些其他的PSML元素:
元素
描述
title?
缺省的鏈接標(biāo)題。這個(gè)鏈接標(biāo)題被當(dāng)作是一個(gè)詳細(xì)描述,并且在一些decorators中如果short-title被當(dāng)作菜單標(biāo)題的話可用作滾動(dòng)的文本說(shuō)明。如果沒(méi)有指定,Jetspeed2將試圖定義一個(gè)標(biāo)題從包含link元素的文件名。
short-title?
可選項(xiàng),定義缺省的鏈接短標(biāo)題。在一些decorators中被當(dāng)作菜單標(biāo)題。如果沒(méi)有指定,使用title內(nèi)容。
url
必須的內(nèi)容url元素。這個(gè)元素的文本內(nèi)容將用來(lái)在瀏覽器中定向到指定的目標(biāo)地址。
metadata*
為鏈接指定當(dāng)?shù)卣Z(yǔ)言的標(biāo)題和短標(biāo)題。
security-
constraints?
定義鏈接的內(nèi)部安全約束。如果沒(méi)有指定,繼承父文件夾的安全約束。
Global Page Security:
<page-security>元素是一個(gè)簡(jiǎn)單的容器,用來(lái)保存一些用來(lái)聲明全局安全約束的其他PSML元素和他們的定義。這個(gè)元素定義在page.security文件里并且它總是存放在PSML文件系統(tǒng)目錄下的根目錄里。包含一個(gè)屬性:
屬性
描述
version
一個(gè)通用版本跟蹤的屬性。目前在jetspeed2中并不使用。
<page.security>元素包含了兩個(gè)安全約束PSML元素:
元素
描述
security-constraints-
def*
任意地定義一些以名稱定義的安全約束集合。這些安全約束在page、fragments、floders和link中被引用,并且在這個(gè)元素里可促進(jìn)再次使用和安全維護(hù)。
global-security-
constraints-ref*
定義的安全約束可應(yīng)用于這個(gè)站點(diǎn)的所有安全約束。各個(gè)簡(jiǎn)單的元素文本涉及到一個(gè)名為安全約束的定義被指定在這個(gè)元素里。
PSML Titles and Metadata:
Page, folder和link中的<metadata>元素用來(lái)定義本地的title和short title文本。這些元素可以在一個(gè)PSML里出現(xiàn)任何次數(shù)。但多個(gè)命名值不應(yīng)該指定為一個(gè)地點(diǎn)。PSML xml 文檔通常使用UTF-8編碼格式來(lái)支持各種各樣的字符集。
屬性
描述
name
metadata文本的名稱。這個(gè)名稱應(yīng)當(dāng)不是’title’就是’short_title’來(lái)指定本地的具體標(biāo)題文本。
xml:lang
metadata文本的地點(diǎn)語(yǔ)言或lange/country選擇器。常規(guī)的Java地點(diǎn)名稱被期待(ISO-639 and ISO-3166)。有效的值將包括’en’和’en_US’。
例子:
<page>
...
<metadata name="title" xml:lang="fr">Ma Premiere Page de PSML</metadata>
<metadata name="title" xml:lang="es">¡Bienvenido a Jetspeed 2!</metadata>
<metadata name="title" xml:lang="hu">Köszönti a Jetspeed 2!</metadata>
...
</page>
PSML Security Constraints:
在pages , fragments , folders , links 和 pagesecurity元素中出現(xiàn)的<security-constraints>,<security-constraints-def>,和<global-security-constraints-ref>元素將單獨(dú)地在安全約束指導(dǎo)文檔里介紹。
Declarative Security Constraints Guide
PMSL Menus:
在 page 和 folder元素中出現(xiàn)的<menu>元素將單獨(dú)地在菜單指導(dǎo)文檔里介紹。
Declarative Menus Guide
轉(zhuǎn)自:http://blog.csdn.net/peterwanghao/archive/2006/04/27/679795.aspx
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Jetspeed2學(xué)習(xí)筆記(六)
實(shí)現(xiàn)Jetspeed2的PSML數(shù)據(jù)庫(kù)存儲(chǔ)-Focus中國(guó)軟件-搜狐博客
Portlet概述
Welcome to Jetspeed-2
Portal實(shí)現(xiàn)原理
Liferay系列文章(四)Portal產(chǎn)品介紹--開(kāi)放源碼Portal產(chǎn)品
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服