1.在sdk5.1.0下的portlets下执行create test "TEST",在portlets下生成test-portlet文件目录。
2.在docroot下添加META-INF文件夹,在META-INF下添加context.xml,内容
<Context>
<Loader
loaderClass="com.liferay.support.tomcat.loader.PortalClassLoader"
/>
</Context>
3.修改配置文件:liferay-display.xml,
liferay-portlet.xml,
portlet.xml,
struts-config.xml,
tiles-defs.xml,
web.xml内容分别为:
liferay-display.xml:
<display>
<category name="category.sample">
<portlet id="test"></portlet>
</category>
</display>
liferay-portlet.xml:
<liferay-portlet-app>
<portlet>
<portlet-name>test</portlet-name>
<struts-path>test</struts-path>
</portlet>
<role-mapper>
<role-name>administrator</role-name>
<role-link>Administrator</role-link>
</role-mapper>
<role-mapper>
<role-name>guest</role-name>
<role-link>Guest</role-link>
</role-mapper>
<role-mapper>
<role-name>power-user</role-name>
<role-link>Power User</role-link>
</role-mapper>
<role-mapper>
<role-name>user</role-name>
<role-link>User</role-link>
</role-mapper>
</liferay-portlet-app>
portlet.xml:
<portlet>
<portlet-name>test</portlet-name>
<display-name>Test Portlet</display-name>
<portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class>
<init-param>
<name>view-action</name>
<value>/test/view</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<portlet-info>
<title>Test Portlet</title>
<short-title>Test Portlet</short-title>
<keywords>Test Portlet</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>
struts-config.xml:
<action-mappings>
<action path="/test/view" forward="portlet.test.view"></action>
</action-mappings>
tiles-defs.xml:
<tiles-definitions>
<definition name="portlet.test.view" path="/portlet/test/view.jsp"></definition>
</tiles-definitions>
web.xml:
<web-app>
<display-name>test-portlet</display-name>
<listener>
<listener-class>com.liferay.portal.kernel.servlet.PortletContextListener</listener-class>
</listener>
<servlet>
<servlet-name>PortletActionServlet</servlet-name>
<servlet-class>com.liferay.portal.struts.PortletActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>com.liferay.portal.kernel.servlet.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-class</param-name>
<param-value>com.liferay.portlet.StrutsPortlet</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>PortletActionServlet</servlet-name>
<url-pattern>/portlet_action/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
<taglib>
………………
</taglib>
</web-app>