(Portal開発読書ノート)WindowState
8108 ワード
WindowStateはPortletウィンドウの状態を表しています
JSR-168仕様では、3つのウィンドウステータスが定義されています(標準、最大化、最小化)
最小化するとrenderリクエストは無視され、最大化するとPortletに追加情報が表示されます.
-----
さまざまなPortal Server(Liferayなど)は、独自の仕様以外の独自のウィンドウステータスを持つことができます.
カスタムウィンドウのステータスを開発する方法:
まずportletでxmlののでこのPorletがサポートするウィンドウの状態を宣言し、複数指定できます
そしてportletアプリケーションレベル、すなわちportlet.xmlのすべての要素の外側で、カスタムウィンドウの状態を宣言します.このwindow-stateはPortletアプリケーションが属するPortal Serverでサポートされている必要があります.
JSR-168仕様では、3つのウィンドウステータスが定義されています(標準、最大化、最小化)
- public class WindowState
- {
- public static final WindowState NORMAL = new WindowState("normal");
-
- public static final WindowState MAXIMIZED = new WindowState("maximized");
-
- public static final WindowState MINIMIZED = new WindowState("minimized");
- private String _name;
-
- public WindowState(String name)
- {
- if (name == null) {
- throw new IllegalArgumentException("WindowState name can not be NULL");
- }
- this._name = name.toLowerCase(Locale.ENGLISH);
- }
-
- public String toString()
- {
- return this._name;
- }
-
- public int hashCode()
- {
- return this._name.hashCode();
- }
-
- public boolean equals(Object object)
- {
- if (object instanceof WindowState) {
- return this._name.equals(((WindowState)object)._name);
- }
- return false;
- }
- }
最小化するとrenderリクエストは無視され、最大化するとPortletに追加情報が表示されます.
-----
さまざまなPortal Server(Liferayなど)は、独自の仕様以外の独自のウィンドウステータスを持つことができます.
カスタムウィンドウのステータスを開発する方法:
まずportletでxmlの
- <portlet>
- <portlet-name>bookCatalog</portlet-name>
- <portlet-class>
- chapter03.code.listing.base.BookCatalogPortlet</portlet-class>
- <supports>
- <mime-type>text/html</mime-type>
- <window-state>pop_up</window-state>
- ...
- </supports>
- ...
- </portlet>
そしてportletアプリケーションレベル、すなわちportlet.xmlのすべての
- <portlet-app>
-
- <portlet>
- ..
- </portlet>
-
- <custom-window-state>
- <window-state>pop_up</window-state>
- </custom-window-state>
- ...
- </portlet-app>