Raible's Wiki
Raible Designs AppFuseHomepage- Korean - Chinese - Italian - Japanese QuickStart Guide User Guide Tutorials Other ApplicationsStruts ResumeSecurity Example Struts Menu
Set your name in
UserPreferences
Referenced by
JSPWiki v2.2.33
Hide Menu |
This page documents the steps necessary to migrate an existing Struts application for use as a Jetspeed The application used for testing and figuring out these steps was the Struts version of Equinox Table of Contents
Add the portals-bridges-struts-0.1.jar to your project [#1]Once you have equinox-struts and jetspeed setup, copy the portals-bridges-struts-0.1.jar from your local Maven repository into the web/WEB-INF/lib directory. cp ~/.maven/repository/portals-bridges/jars/portals-bridges-struts-0.1.jar web/WEB-INF/lib Modify web.xml to use PortletServlet instead of ActionServlet [#2]Change the "action" servlet in web/WEB-INF/web.xml to use the PortletServlet from the bridge JAR. <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.portals.bridges.struts.PortletServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> Modify struts-config.xml to override the default RequestProcessor [#3]In web/WEB-INF/struts-config.xml add a <controller> element just above the <message-resources> element to override the RequestProcessor. <!-- ========== Controller Configuration ================================ --> <controller pagePattern="$M$P" inputForward="true" processorClass="org.apache.portals.bridges.struts.PortletRequestProcessor"/> Create a portlet.xml file in the WEB-INF directory [#4]Copy and paste the following XML into a portlet.xml file in the web/WEB-INF directory. <?xml version="1.0" encoding="UTF-8"?> <portlet-app id="equinox-struts" version="1.0"> <portlet id="Equinox-Struts"> <init-param> <name>ServletContextProvider</name> <value>org.apache.jetspeed.portlet.ServletContextProviderImpl</value> </init-param> <init-param> <name>ViewPage</name> <value>/user.html</value> </init-param> <portlet-name>Equinox-Struts</portlet-name> <display-name>Equinox</display-name> <description>This is a simple portlet</description> <portlet-class>org.apache.portals.bridges.struts.StrutsPortlet</portlet-class> <expiration-cache>-1</expiration-cache> <supports> <mime-type>text/html</mime-type> <portlet-mode>VIEW</portlet-mode> <portlet-mode>HELP</portlet-mode> </supports> <portlet-info> <title>User List</title> <short-title>This is the short title</short-title> <keywords>Spring</keywords> </portlet-info> </portlet> </portlet-app> Deploy the WAR to Jetspeed [#5]In build.properties, add a "deploy.dir" property so you can deploy to Jetspeed's deployer. deploy.dir=/opt/dev/tools/tomcat/webapps/jetspeed/WEB-INF/deploy Edit web/WEB-INF/classes/jdbc.properties and change the "jdbc.url" to use an absolute path. This is necessary so you can populate the HSQL database from the equinox-struts directory. jdbc.url=jdbc:hsqldb:/Users/mraible/dev/equinox-struts/db/equinox Start Tomcat and run "ant deploywar" to deploy your portlet. If you're watching Tomcat's log files ($CATALINA_HOME/logs/catalina.out) - and you don't see your WAR getting deployed, make sure the portlet.xml is in your web/WEB-INF directory. To update the WAR in Jetspeed, just run "ant deploywar" after you've modified files. To undeploy the WAR, delete the equinox-struts.war file from $CATALINA_HOME/webapps/jetspeed/WEB-INF/deploy. NOTE: These deployment instructions are based on this wiki page![]() Create a .psml file so the portlet will show up in Jetspeed [#6]Create a equinox-struts.psml file in $CATALINA_HOME/webapps/jetspeed/WEB-INF/pages with the following contents. The fragment id's must be unique among all .psml files, and the name of the portlet is read from the portlet.xml file.<?xml version="1.0" encoding="UTF-8"?> <page id="equinox-struts"> <defaults skin="orange" layout-decorator="tigris" portlet-decorator="tigris"/> <title>Equinox-Struts</title> <fragment id="equinox-struts-layout" type="layout" name="jetspeed::VelocityTwoColumns"> <fragment id="equinox-struts-portlet" type="portlet" name="equinox-struts::Equinox-Struts"> <property layout="TwoColumns" name="row" value="0"/> <property layout="TwoColumns" name="column" value="0"/> </fragment> </fragment> </page> Open http://localhost:8080/jetspeed Known Issues [#7]
|