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

参考来源[ ]

参考来源