0
我正在使用Liferay 6和MVC portlet。我使用jsp和extjs來呈現我的portlet。當我最大化/最小化時,Portlet的當前狀態會丟失。即使在最大化/最小化之後,我也想保留portlet的狀態。我怎樣才能做到這一點?最大化/最小化時不保留Portlet狀態
感謝
我正在使用Liferay 6和MVC portlet。我使用jsp和extjs來呈現我的portlet。當我最大化/最小化時,Portlet的當前狀態會丟失。即使在最大化/最小化之後,我也想保留portlet的狀態。我怎樣才能做到這一點?最大化/最小化時不保留Portlet狀態
感謝
portlet有兩個階段:動作階段&呈現階段。當一些國家必須改變時,行動階段將運行,例如。當表單提交完成時。在最大化/最小化之後,渲染階段將始終運行。 如果您不想在渲染階段更改某些狀態,請將此邏輯置於操作階段。
通過MVC的portlet必須處理每一個階段兩種方法:
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());
}
}
在這裏,你可以閱讀大約兩個portlet的階段: http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/understanding-the-two-phases-of-portlet-executi-4
感謝您的幫助:) – user1415459 2012-08-14 15:39:10