0

doView() メソッドでのアクセスに問題があります。CMS として Liferay 6.3、ICEFACES 3.3.0、および tomcat 7 を使用してポートレットを作成しました。Liferay で Icefaces フレームワークを使用するために、 liferay-faces-bridgeを使用しました。このため、portlet.xml を次のように設定しました。

<portlet>
            <portlet-name>FinalTest</portlet-name>
            <display-name>FinalTest</display-name>
            <portlet-class>org.portletfaces.bridge.GenericFacesPortlet</portlet-class>
            <init-param>
                <name>javax.portlet.faces.defaultViewId.view</name>
                <value>/index.xhtml</value>
            </init-param>
            <expiration-cache>0</expiration-cache>
            <supports>
                <mime-type>text/html</mime-type>
            </supports>
            <portlet-info>
                <title>FinalENELTest</title>
                <short-title>FinalENELTest</short-title>
                <keywords>FinalENELTest</keywords>
            </portlet-info>
            <security-role-ref>
                <role-name>administrator</role-name>
            </security-role-ref>
            <security-role-ref>
                <role-name>guest</role-name>
            </security-role-ref>
            <security-role-ref>
                <role-name>power-user</role-name>
            </security-role-ref>
            <security-role-ref>
                <role-name>user</role-name>
            </security-role-ref>
        </portlet>

また、次のような ManagedBean があります (ビジネス ロジック用)。

@ManagedBean(name="backingBean")
@SessionScoped
public class BackingBeanImpl extends GenericPortlet{ 

          .... 

    @Override
protected void doView(RenderRequest request, RenderResponse response)
        throws PortletException, IOException {
    // TODO Auto-generated method stub
    System.out.println("I'M HERE");
    super.doView(request, response);
}

}

問題は、ポートレットの開始時に doView() メソッドが呼び出されないことです。ブリッジの問題かもしれません。知らない。

誰かが私を助けてくれることを願っています。

ありがとう

4

1 に答える 1