整合SSH2项目到Jahia中
来自站长百科
导航:上一页
关于整合SSH2项目到Jahia中[ ]
- 在WEB-INF/下添加portlet.xml文件.以我的NewsDemo为例
1. <?xml version="1.0" encoding="UTF-8"?> 2. <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org /2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns /portlet/portlet-app_1_0.xsd"> 3. 4. <portlet> 5. <portlet-name>NewsTest Portlet</portlet-name> 6. <display-name>News Test Portlet</display-name> 7. 8. <portlet-class>org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher</portlet-class> 9. 10. <init-param> 11. <name>viewNamespace</name> 12. <value>/view</value> 13. </init-param> 14. 15. <init-param> 16. <name>defaultViewAction</name> 17. <value>newsView!show</value> 18. </init-param> 19. 20. <expiration-cache>0</expiration-cache> 21. 22. <supports> 23. <mime-type>text/html</mime-type> 24. <portlet-mode>view</portlet-mode> 25. </supports> 26. 27. <portlet-info> 28. <title>NewsTest Portlet</title> 29. <short-title>NewsTest Portlet</short-title> 30. <keywords>NewsTest Portlet</keywords> 31. </portlet-info> 32. </portlet> 33. </portlet-app>
其中:
<init-param> <name>viewNamespace</name> <value>/view</value> </init-param> <init-param> <name>defaultViewAction</name> <value>newsView!show</value> </init-param>
viewNamespace定义action的namespace 类似的还有editNamespace,helpNamespace。
defaultViewAction 为Portlet启动后默认执行的action名.如果定义action的时候 类似 newsView!*这种的话,要写newsView!,此时Portlet将会
去寻找acton的execute()方法,否则直接写成 newsView!show。
- 修改struts.xml文件,以我的NewsDemo为例
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. <struts> 6. <include file="struts-portlet-default.xml" /> 7. <package name="newsDemo" extends="struts-portlet-default" namespace="/admin"> 8. 9. <action name="newsAdminView!*" class="newsAction" method="{1}"> 10. <result name="input" type="redirect-action"> 11. /admin/newsAdminView!add.action 12. </result> 13. <result name="add">/admin/add.jsp</result> 14. <result name="success" type="redirect-action"> 15. /admin/newsAdminView!list.action 16. </result> 17. <result name="delete" type="redirect-action"> 18. /admin/newsAdminView!list.action 19. </result> 20. <result name="edit" >/admin/edit.jsp</result> 21. <result name="list">/admin/list.jsp</result> 22. </action> 23. 24. </package> 25. <package name="newsViewDemo" extends=e-value">"struts-portlet-default" namespace="/view"> <action name="newsView!*" class="newsViewAction" method="{1}"> <result name="input">/view/list.jsp</result> <result name="detail">/view/detail.jsp</result> <result name="classnewslist">/view/classnewslist.jsp</result> </action> </package> </struts>
其中要注意的有:
1. 添加 <include file="struts-portlet-default.xml" />
2. 将extens 改为 : extends="struts-portlet-default"
3. 路径要写成绝对的形式如:/view/list.jsp
- 将项目打成war包放到$jahiahome\tomcat\webapps\jahia\WEB-INF\var\new_webapp\下,jahia会自动调用。