Liferay6およびMVCポートレットを使用しています。jspとextjsを使用してポートレットをレンダリングしています。最大化/最小化すると、ポートレットの現在の状態が失われます。最大化/最小化した後もポートレットの状態を保持したい。どうすればこれを達成できますか?
ありがとう
Liferay6およびMVCポートレットを使用しています。jspとextjsを使用してポートレットをレンダリングしています。最大化/最小化すると、ポートレットの現在の状態が失われます。最大化/最小化した後もポートレットの状態を保持したい。どうすればこれを達成できますか?
ありがとう
ポートレットには、アクション フェーズとレンダリング フェーズの 2 つのフェーズがあります。アクション フェーズは、状態を変更する必要がある場合に実行されます。フォーム送信が完了したとき。レンダリング フェーズは、最大化/最小化の後も常に実行されます。レンダリング フェーズで状態が変更されたくない場合は、このロジックをアクション フェーズに配置します。
MVC ポートレットでは、各フェーズを処理するための 2 つの方法があります。
public class MyLiferayTestPortlet extends MVCPortlet {
@Override
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException {
System.out.println("action");
//here you can change the state
}
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse) throws IOException, PortletException {
System.out.println("rendering");
//here you can prepaire the rendering of jsp
//print the window state
ThemeDisplay td = (ThemeDisplay)renderRequest.getAttribute(WebKeys.THEME_DISPLAY);
System.out.println("isStateMaximized: " + td.isStateMaximized());
}
}
ここでは、ポートレットの 2 つのフェーズについて読むことができます: http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/understanding-the-two-phases-of-portlet-executi-4