Ich habe ein ziemlich einfaches Portlet mit der Struts Portlet Bridge geschrieben und es in liveray implementiert. Die Navigation innerhalb meines Portlets scheint in Ordnung zu sein, aber jedes Mal, wenn ich auf einen Link in einem anderen Portlet im Portal klicke, wird mein Portlet auf das View Action Setup zurückgesetzt portlet.xml, anstatt den vorhandenen Status erneut zu rendern. Was mache ich falsch?Kann ich ein strutsbasiertes Portlet an seine Ansicht erinnern, wenn ein anderes Portlet verwendet wird?
Mein portlet.xml
ist:
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
<portlet>
<portlet-name>test</portlet-name>
<display-name>Test</display-name>
<portlet-class>com.perceptive.ctms.test.portlet.TestPortlet</portlet-class>
<init-param>
<name>ServletContextProvider</name>
<value>com.liferay.util.bridges.struts.LiferayServletContextProviderWrapper</value>
</init-param>
<init-param>
<name>StrutsPortletConfigLocation</name>
<value>/WEB-INF/struts-portlet-config.xml</value>
</init-param>
<init-param>
<name>HelpPage</name>
<value>/portlet_action/test/help</value>
</init-param>
<init-param>
<name>ViewPage</name>
<value>/portlet_action/test/start</value>
</init-param>
<init-param>
<name>EditPage</name>
<value>/portlet_action/test/preferences</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
<portlet-mode>help</portlet-mode>
</supports>
<portlet-info>
<title>Test</title>
<short-title>Test</short-title>
<keywords>Test</keywords>
</portlet-info>
</portlet>
<filter>
<filter-name>AuthenticationFilter</filter-name>
<filter-class>com.perceptive.ctms.framework.portlet.filter.AuthenticationFilter</filter-class>
<lifecycle>RENDER_PHASE</lifecycle>
<lifecycle>ACTION_PHASE</lifecycle>
</filter>
<filter-mapping>
<filter-name>AuthenticationFilter</filter-name>
<portlet-name>test</portlet-name>
</filter-mapping>
</portlet-app>
und struts-portlet-config.xml
ist:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<render-context>
<attribute name="errors"/>
<attribute name="message" keep="true"/>
<attribute prefix="com.perceptive" keep="true"/>
</render-context>
<portlet-url-type default="render">
<render path="/test/help.do"/>
<render path="/test/start.do"/>
<render path="/test/preferences.do"/>
<render path="/test/tableTest.do"/>
<render path="/test/displayTagTest.do"/>
<render path="/test/lookupTest.do"/>
<render path="/test/lookupTestSave.do"/>
</portlet-url-type>
</config>
PS Ich habe das schon auf den liferay Foren gefragt, aber auch hier ist zu fragen, in der Hoffnung eine schnelle Antwort.
Aargh! Ich wusste, dass die Antwort mich ins Gesicht starrte –