我需要一種方法來自動填充Liferay中部署的portlet的服務構建器創建的表。我怎麼能做到這一點?我正在考慮啓動掛鉤,但我無法訪問特定portlet的服務。那麼有沒有辦法通過Portlet本身來填充它?將portlet部署到liferay後自動填充表
1
A
回答
1
如果您設法不使變更具有破壞性(例如注意不要在每次啓動時填充),您可以在StartupAction(或啓動掛鉤)中執行此操作。您可以將此鉤子添加到您的portlet項目 - 這工作得很好。或者,您可以在liferay-plugin-package.properties中聲明一個依賴於portlet的鉤子(反之亦然) - 這將使服務可用。但是爲了這個目的,我只是將所有內容都包裝在一個portlet插件中。
如果您可能在那裏發生破壞性更改,則升級操作將是更安全的選擇:保證只運行一次。
例子可見老sevencogs樣品(讓我知道如果你需要三分球,然後我就弄出來了)
更新:要在portlet項目這樣的鉤,添加WEB-INF用下面的內容/liferay-hook.xml(或使用的Liferay IDE的嚮導只是一個鉤子添加到項目)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.1.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_1_0.dtd">
<hook>
<portal-properties>portal.properties</portal-properties>
</hook>
此外,創建WEB-INF/src目錄/ portal.properties使用下列選項
application.startup.events=com.example.MyStartupAction
當然,創建提到的啓動動作,擴展com.liferay.portal.kernel.events.SimpleAction
-1
嘗試從servicecomponent表中刪除一個條目。並重新部署您的portlet。
delete FROM servicecomponent where buildNamespace="<your table namespace>"
相關問題
- 1. portlet部署到Liferay
- 2. 如何將Portlet部署到Liferay?
- 3. Liferay:看不到部署的portlet
- 4. 無法成功部署liferay portlet
- 5. 通過Jenkins部署Liferay Portlet戰爭?
- 6. 將Portlet部署自動化到WebSphere Portal Server 6.1
- 7. Liferay:自定義在portlet部署期間添加的web.xml HeaderFilter
- 8. Rails - 自動在部署表中填充數據 - 角色
- 9. 部署簡單的Spring MVC的Portlet到Liferay 5.2.3
- 10. 部署一個簡單的portlet到Liferay - 拋出ClassCastException
- 11. 部署到Tomcat後,填充下拉列表不起作用
- 12. 將Portlet部署到liferay時出錯 - >文件「/WEB-INF/tld/std-portlet.tld」找不到
- 13. Liferay的7 - 嵌入自定義portlet到
- 14. Liferay自定義登錄Portlet
- 15. 如何將jstl添加到Liferay portlet?
- 16. 將Liferay portlet導入Eclipse IDE
- 17. Liferay的服務構建表自動遞增在每個部署
- 18. 異常,同時試圖部署liferay portlet與彈簧
- 19. 如何實施已部署在Liferay門戶中的Portlet的SSO
- 20. 通過Liferay以編程方式在位置中部署portlet?
- 21. Liferay 6.1 portlet:部署時無法獲得JSONWebService掃描
- 22. 自動填充webview表單
- 23. 自動填充「time_hour」表
- 24. JavaScript自動填充 - 表格
- 25. 自動填充HTML表格
- 26. 問題將自動填充列表綁定到表單Spring MVC
- 27. 承諾後自動部署
- 28. Liferay MVC Portlet java.lang.ClassNotFoundException
- 29. liferay login without portlet
- 30. Liferay的RSS portlet
我在portlet中添加一個portlet.properties文件,並添加'application.startup.events = com. startup.StartupTest'它,並創建了類擴展'SimpleAction'但它不運行。我們不能在一個portlet中實現這個嗎? – saurjk 2013-02-27 11:09:43
已更新。你可能沒有liferay-hook.xml – 2013-02-27 11:22:21