<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8411793</id><updated>2011-04-21T14:35:36.907-07:00</updated><title type='text'>eXo and Struts</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://exo-struts.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8411793/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://exo-struts.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Masoud</name><uri>http://www.blogger.com/profile/08398525222310104648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/img/253/1769/200/masoud.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8411793.post-109575729244456772</id><published>2004-09-21T01:43:00.000-07:00</published><updated>2004-10-01T01:07:51.503-07:00</updated><title type='text'>Porting a struts-based web application module into eXo Portal</title><content type='html'>&lt;p&gt;First of all, I should thanks &lt;a href="http://portlets.blogspot.com"&gt;Punit Pandey&lt;/a&gt; for providing a good comparison among java portals solutions. When I read his article, I could make my decision to choose a portal as a platform for developing tomorrow application! Thank Mr. &lt;a href="http://www.exoplatform.org/"&gt;Benjamin Mestrallet &lt;/a&gt;and his staff for providing this wonderful portal.&lt;/p&gt;The following steps should be perform to port a struts-based web application module into eXo Portal:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;ExoStrutsPortlet&lt;/b&gt; should be introduced as the portlet class:&lt;br /&gt;File: &lt;i&gt;portlet.xml&lt;/i&gt;&lt;/li&gt;&lt;pre&gt;&amp;lt;portlet-app  ... &amp;gt;&lt;br /&gt;  &amp;lt;portlet&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;    &amp;lt;portlet-class&amp;gt;exo.portal.portlet.struts.ExoStrutsPortlet&amp;lt;/portlet-class&amp;gt;&lt;br /&gt;  &amp;lt;/portlet&amp;gt;&lt;br /&gt;&amp;lt;/portlet-app&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;welcome file&lt;/b&gt; of the application should be introduced as default-page:&lt;br /&gt;File: &lt;i&gt;portlet.xml&lt;/i&gt;&lt;/li&gt;&lt;pre&gt;&amp;lt;portlet-app  ... &amp;gt;&lt;br /&gt;  &amp;lt;portlet&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;    &amp;lt;init-param&amp;gt;&lt;br /&gt;      &amp;lt;name&amp;gt;default-page&amp;lt;/name&amp;gt;&lt;br /&gt;      &amp;lt;value&amp;gt;/login.jsp&amp;lt;/value&amp;gt;&lt;br /&gt;    &amp;lt;/init-param&amp;gt;&lt;br /&gt;  &amp;lt;/portlet&amp;gt;&lt;br /&gt;&amp;lt;/portlet-app&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;Of course you should add mandatory parts, such as supported modes&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;PortletApplicationListener&lt;/b&gt; and &lt;b&gt;ServletWrapper&lt;/b&gt; should be introduced in the web application as follow:&lt;br /&gt;File: &lt;i&gt;web.xml&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;web-app&amp;gt;&lt;br /&gt;    &amp;lt;listener&amp;gt;&lt;br /&gt;        &amp;lt;listener-class&amp;gt;exo.services.portletcontainer.impl.servlet.PortletApplicationListener&amp;lt;/listener-class&amp;gt;&lt;br /&gt;    &amp;lt;/listener&amp;gt;&lt;br /&gt;    &amp;lt;servlet&amp;gt;&lt;br /&gt;        &amp;lt;servlet-name&amp;gt;PortletWrapper&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;        &amp;lt;servlet-class&amp;gt;exo.services.portletcontainer.impl.servlet.ServletWrapper&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;    &amp;lt;/servlet&amp;gt;&lt;br /&gt;    &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;        &amp;lt;servlet-name&amp;gt;PortletWrapper&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;        &amp;lt;url-pattern&amp;gt;/PortletWrapper&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;    &amp;lt;/servlet-mapping&amp;gt;&lt;br /&gt;&amp;lt;/web-app&amp;gt;&lt;/pre&gt;&lt;li&gt;&lt;b&gt;ExoActionServlet&lt;/b&gt; and &lt;b&gt;/struts-controller&lt;/b&gt; should be introduce as action servlet class and its related mapping, as follow:&lt;br /&gt;File: &lt;i&gt;web.xml&lt;/i&gt; &lt;/li&gt;&lt;pre&gt;&amp;lt;servlet&amp;gt;&lt;br /&gt;    &amp;lt;servlet-name&amp;gt;action&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;    &amp;lt;servlet-class&amp;gt;exo.portal.portlet.struts.ExoActionServlet&amp;lt;/servlet-class&amp;gt;&lt;br /&gt;	...&lt;br /&gt;  &amp;lt;/servlet&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;servlet-mapping&amp;gt;&lt;br /&gt;    &amp;lt;servlet-name&amp;gt;action&amp;lt;/servlet-name&amp;gt;&lt;br /&gt;    &amp;lt;url-pattern&amp;gt;/struts-controller&amp;lt;/url-pattern&amp;gt;&lt;br /&gt;  &amp;lt;/servlet-mapping&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;ExoRequestProcessor&lt;/b&gt; should be added as request processor of the application module as follow:&lt;br /&gt;File: &lt;i&gt;struts-config.xml&lt;/i&gt; &lt;/li&gt;&lt;pre&gt;&amp;lt;controller processorClass="exo.portal.portlet.struts.ExoRequestProcessor"&lt;br /&gt;              debug="1" contentType="text/html"&amp;gt;&lt;br /&gt;    ...&lt;br /&gt;  &amp;lt;/controller&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Your feedbacks are welcome &lt;a href="mailto:masoud.omidvar@gmail.com"&gt;masoud.omidvar@gmail.com&lt;/a&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8411793-109575729244456772?l=exo-struts.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://exo-struts.blogspot.com/feeds/109575729244456772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8411793&amp;postID=109575729244456772' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8411793/posts/default/109575729244456772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8411793/posts/default/109575729244456772'/><link rel='alternate' type='text/html' href='http://exo-struts.blogspot.com/2004/09/porting-struts-based-web-application.html' title='Porting a struts-based web application module into eXo Portal'/><author><name>Masoud</name><uri>http://www.blogger.com/profile/08398525222310104648</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://photos1.blogger.com/img/253/1769/200/masoud.jpg'/></author><thr:total>7</thr:total></entry></feed>
