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() メソッドが呼び出されないことです。ブリッジの問題かもしれません。知らない。
誰かが私を助けてくれることを願っています。
ありがとう