1.生成定义portlet在 /ext/ext-web/WEB_INF/portlet-ext.xml
主要配置<portlet>
<portlet-name>bookPortlet</portlet-name> 名字为唯一标识
<display-name>bookPortlet</display-name> 必须唯一 可于名字相同
<portlet-class>com.liferay.portlet.StrutsPortlet</portlet-class> 固定为StrutsPortlet
<init-param>
<name>view-action</name>
<value>/hello/bookPortlet</value> 访问的路径
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
</supports>
<resource-bundle>com.liferay.portlet.StrutsResourceBundle</resource-bundle>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
2.在/ext/ext-web/WEB_INF/liferay-portlet-ext.xml中定义 portlet实例属性
<portlet>
<portlet-name>bookPortlet</portlet-name> 名字为唯一标识与上面的一样
<struts-path>hello</struts-path> 域
<use-default-template>false</use-default-template>
</portlet>
3.配置国际化 /ext/ext-impl/classes/Language-ext.propertites
javax.portlet.title.bookPortlet=book
4..打开liferay-display.xml
- <category name="category.test">
- <portlet id=“bookPortlet" /> //与portletname 相同
-
- ...
- </category>
<action-mappings>
<!-- Reports -->
<action path="/hello/bookPortlet" forward="portlet.ext.reports.bookPortlet"/> 需求指向一个页面的时候 这样写
<action path="/ext/reports/view_reports" type="com.ext.portlet.reports.action.ViewReportsAction"> 一个portlet指向多个页面的时候
<forward name="portlet.ext.reports.view" path="portlet.ext.reports.view" />
<forward name="portlet.ext.reports.view_reports" path="portlet.ext.reports.view_reports" />
</action>
</action-mappings>
6.打开tiles-defs.xml定义页面布局
<definition name="portlet.ext.reports.bookPortlet" extends="portlet.journal"> 那么与forward相对应来指向那个jsp
<put name="portlet_content" value="/portlet/ext/book/book.jsp" />
</definition>
7.书写BookAction