读书人

LifeRay Portal 六学习笔记6:使用Stru

发布时间: 2012-09-23 10:28:10 作者: rapoo

LifeRay Portal 6学习笔记6:使用Struts2开发Portlet

准备

Liferay版本:6.0.4

开发模式:普通插件模式(非Ext)

Struts版本:2.1.8.1

?

环境

使用到的Struts2相关jar包如下:

antlr-2.7.2.jar

commons-fileupload-1.2.1.jar

freemarker-2.3.15.jar

ognl-2.7.3.jar

struts2-core-2.1.8.1.jar

struts2-portlet-plugin-2.1.8.1.jar

xwork-core-2.1.6.jar

?

工程目录如下:


LifeRay Portal 六学习笔记6:使用Struts2开发Portlet

?

参考内容

参考Struts2自带的portlet示例struts2-portlet-2.1.8.1.war,在Struts解压包下面的apps目录里面,这个示例是基于Pluto(http://portals.apache.org/pluto/)Apache的Portal实现,但开发的都是portlet,所以可以参考这个。

?

开发示例代码

portlet.xml

?

Xml代码?
  1. <portlet>??
  2. ????????<portlet-name>StrutsPortlet</portlet-name>??
  3. ????????<display-name>Struts?Test?Portlet</display-name>??
  4. ??????
  5. ????????<portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class>??
  6. ??
  7. ????????<!--这里的name名字不能修改,value对应于Struts.xml文件里面的配置-->??
  8. ????????<init-param>??
  9. ????????????<name>viewNamespace</name>??
  10. ????????????<value>/strutsDemoView</value>??
  11. ????????</init-param>??
  12. ??
  13. ????????<!--?对应Struts.xml中设置的默认action?-->??
  14. ????????<init-param>??
  15. ????????????<name>defaultViewAction</name>??
  16. ????????????<value>index</value>??
  17. ????????</init-param>??
  18. ??
  19. ????????<init-param>??
  20. ????????????<name>editNamespace</name>??
  21. ????????????<value>/strutsDemoEdit</value>??
  22. ????????</init-param>??
  23. ??
  24. ????????<init-param>??
  25. ????????????<name>defaultEditAction</name>??
  26. ????????????<value>index</value>??
  27. ????????</init-param>??
  28. ?????
  29. ????????<expiration-cache>0</expiration-cache>??
  30. ??????????
  31. ????<!--?支持view、edit,和前面的portlet一样?-->??
  32. ????????<supports>??
  33. ????????????<mime-type>text/html</mime-type>??
  34. ????????????<portlet-mode>view</portlet-mode>??
  35. ????????????<portlet-mode>edit</portlet-mode>??
  36. ????????</supports>??
  37. ??
  38. ????????<portlet-info>??
  39. ????????????<title>My?StrutsPortlet?portlet</title>??
  40. ????????????<short-title>SP</short-title>??
  41. ????????????<keywords>struts,portlet</keywords>??
  42. ????????</portlet-info>?????????
  43. ????</portlet>??
?

?

liferay-portlet.xml

?

Xml代码?
  1. <portlet>??
  2. ????<portlet-name>StrutsPortlet</portlet-name>??
  3. ????<instanceable>true</instanceable>??
  4. </portlet>??

?

?liferay-display.xml

?

Xml代码?
  1. <portlet?id="StrutsPortlet"></portlet>??

?

?Struts.xml

?

Xml代码?
  1. <?xml?version="1.0"?encoding="UTF-8"??>??
  2. <!DOCTYPE?struts?PUBLIC??
  3. ????"-//Apache?Software?Foundation//DTD?Struts?Configuration?2.0//EN"??
  4. ????"http://struts.apache.org/dtds/struts-2.0.dtd">??
  5. ??
  6. <struts>??
  7. ????<package?name="strutsDemoView"?namespace="/strutsDemoView"?extends="struts-portlet-default">????
  8. ????????<action?name="index"?method="view"?class="org.huqiwen.study.StrutsDemo">????
  9. ????????????<result?name="success">/strutsDemoView/view.jsp</result>????
  10. ????????</action>????
  11. ????????<action?name="portletView"?method="portletView"?class="org.huqiwen.study.StrutsDemo">????
  12. ????????????<result?name="view">/strutsDemoView/viewMode.jsp</result>????
  13. ????????</action>????
  14. ????</package>????
  15. ????
  16. ????
  17. ????<package?name="strutsDemoEdit"?namespace="/strutsDemoEdit"??extends="struts-portlet-default">????
  18. ????????<action?name="index"?method="edit"?class="org.huqiwen.study.StrutsDemo">????
  19. ????????????<result?name="success">/strutsDemoEdit/edit.jsp</result>????
  20. ????????</action>????
  21. ????????<action?name="portleEdit"?method="portletEdit"?class="org.huqiwen.study.StrutsDemo">????
  22. ????????????<result?name="edit">/strutsDemoEdit/editMode.jsp</result>????
  23. ????????</action>????
  24. ????</package>????
  25. </struts>??

?

?

    读书人网 >软件架构设计

    热点推荐