(Portal 开发读书笔记)WindowState

简介:

 WindowState 表示了Portlet 窗口的状态

JSR-168规范定义了三种窗口状态,(标准,最大化,最小化)

 
 
  1. public class WindowState 
  2.   public static final WindowState NORMAL = new WindowState("normal"); 
  3.  
  4.   public static final WindowState MAXIMIZED = new WindowState("maximized"); 
  5.  
  6.   public static final WindowState MINIMIZED = new WindowState("minimized"); 
  7.   private String _name; 
  8.  
  9.   public WindowState(String name) 
  10.   { 
  11.     if (name == null) { 
  12.       throw new IllegalArgumentException("WindowState name can not be NULL"); 
  13.     } 
  14.     this._name = name.toLowerCase(Locale.ENGLISH); 
  15.   } 
  16.  
  17.   public String toString() 
  18.   { 
  19.     return this._name; 
  20.   } 
  21.  
  22.   public int hashCode() 
  23.   { 
  24.     return this._name.hashCode(); 
  25.   } 
  26.  
  27.   public boolean equals(Object object) 
  28.   { 
  29.     if (object instanceof WindowState) { 
  30.       return this._name.equals(((WindowState)object)._name); 
  31.     } 
  32.     return false
  33.   } 

最小化时候,render请求是被忽略的,而最大化时候,Portlet会显示一些额外信息。

 

-----

 

各种不同的Portal Server(比如Liferay)可以有自己的规范以外的特有的窗口状态

如何开发自定义窗口状态:

首先在portlet.xml的<supports>的<window-state>中声明这个Porlet所要支持的窗口状态,可以指定多个

 
 
  1. <portlet> 
  2. <portlet-name>bookCatalog</portlet-name> 
  3. <portlet-class> 
  4. chapter03.code.listing.base.BookCatalogPortlet</portlet-class> 
  5. <supports> 
  6. <mime-type>text/html</mime-type> 
  7. <window-state>pop_up</window-state> 
  8. ... 
  9. </supports> 
  10. ... 
  11. </portlet> 

然后在portlet应用级别,也就是在portlet.xml中所有<portlet>元素的外面,声明自定义窗口状态,注意,这个window-state必须被Portlet应用所部属的Portal Server所支持

 
 
  1. <portlet-app> 
  2.  
  3. <portlet> 
  4. .. 
  5. </portlet> 
  6.  
  7. <custom-window-state> 
  8. <window-state>pop_up</window-state> 
  9. </custom-window-state> 
  10. ... 
  11. </portlet-app> 

 





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/844316,如需转载请自行联系原作者

目录
相关文章
|
JavaScript 数据可视化 前端开发
《面向三维GIS的Cesium开发与应用》读书笔记
《面向三维GIS的Cesium开发与应用》读书笔记
|
安全 测试技术 数据安全/隐私保护
软件安全开发生命周期读书笔记
分阶段: 0. 教育和意识       1.微软成功的原因在于管理层支持和教育与培训.       2.工程师必须对基本的安全弱点、常见的安全漏洞类型、基本的安全设计有所了解。
1462 0
|
存储 安全 编译器
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(下)
|
存储 关系型数据库 编译器
C++ Primer Plus 第6版 读书笔记(9)第 9章 函数——内存模型和名称空间
C++ Primer Plus 第6版 读书笔记(9)第 9章 函数——内存模型和名称空间
121 1
|
存储 算法 编译器
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
C++ Primer Plus 第6版 读书笔记(8)第 8章 函数探幽(二)
77 1
|
存储 算法 Java
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
[笔记]读书笔记 C++设计新思维《二》技术(Techniques)(二)
|
安全 Java C++
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计(上)
[笔记]读书笔记 C++设计新思维《一》基于策略的类设计