整合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会自动调用。