1

要求が MVCPortlet クラスに対して行われたら、ビューを MAXIMIZED 状態で表示したいと考えています。これはJSPページの私のコードです

<portlet:actionURL  name="addBook" var="addBookURL" />
<aui:form action="<%= addBookURL.toString() %>" method="post">
    <aui:input type="text" name="name"></aui:input>
    <aui:input type="password" name="pwd"></aui:input>
    <aui:button type="submit"></aui:button>
</aui:form>

これは私の MVCPortlet クラスです:

if(true)
        {

             response.setPortletMode(PortletMode.VIEW);
            response.setWindowState(WindowState.MAXIMIZED);

        }

        else
        {

             response.setPortletMode(PortletMode.VIEW);
            response.setWindowState(WindowState.MAXIMIZED);

        }

そして、これが結果です(下の画像を参照してください)

ここに画像の説明を入力

私の質問は、Action クラスが呼び出されると、ポートレットが MAXIMIZED 状態で表示されることを期待していたということです。

しかし、それでもポートレットは NORMAL 状態のままです。その理由と、MVCPortlet クラスからの結果の後にポートレットを最大化状態で表示する方法を教えてください。

4

1 に答える 1

6

ポートレットを最大化モードで表示する方法は2つあります。値が最大化されたwindowStateパラメーターをactionURLタグに追加するか(常に最大化された状態のポートレットへのリンクが表示されます)、この行を追加します

response.setWindowState(WindowState.MAXIMIZED);

ポートレットのprocessActionメソッドに変換します(何かに基づいて決定を下すことができます)。

(これは仕様が言うことですが、Liferayは通常それに準拠しています)。

于 2012-04-15T14:10:39.940 に答える