<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Module Lost &#187; portlet</title>
	<atom:link href="http://www.modlost.net/home/tag/portlet/feed" rel="self" type="application/rss+xml" />
	<link>http://www.modlost.net/home</link>
	<description>Thoughts about software development &#38; productivity</description>
	<lastBuildDate>Sat, 12 Jun 2010 03:05:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Xdoclet &#8211; Portlet Module &amp; Spring Portlet MVC</title>
		<link>http://www.modlost.net/home/article/xdoclet-portlet-module-a-spring-porlet-mvc.html</link>
		<comments>http://www.modlost.net/home/article/xdoclet-portlet-module-a-spring-porlet-mvc.html#comments</comments>
		<pubDate>Wed, 08 Mar 2006 17:59:21 +0000</pubDate>
		<dc:creator>Abner</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Information Technologies]]></category>
		<category><![CDATA[portlet]]></category>
		<category><![CDATA[spring]]></category>

		<guid isPermaLink="false">http://www.modlost.net/wordpress/?p=77</guid>
		<description><![CDATA[Nadie puede negar que la programación orientada a atributos es muy util. Pues bien, estuve jugando con Spring Framework 2.0M3, en especial el modulo para Porlets. Según la regla que sigo: &#8220;Mientras menos hago más avanzo&#8221;, decidí usar el modulo Xdoclet para generar el archivo portlet.xml. Definí un controlador con los respectivos tags: package com.stconsulting.sample.web.portlet.controller; [...]]]></description>
			<content:encoded><![CDATA[<p>Nadie puede negar que la programación orientada a atributos es muy util. Pues bien, estuve jugando con Spring Framework 2.0M3, en especial el modulo para Porlets.</p>
<p>Según la regla que sigo: &#8220;Mientras menos hago más avanzo&#8221;, decidí usar el modulo Xdoclet para generar el archivo portlet.xml.</p>
<p>Definí un controlador con los respectivos tags:</p>
<pre><code>
<span style="color: #7f0055;"><strong>package </strong></span><span style="color: #000000;">com.stconsulting.sample.web.portlet.controller;</span>

<span style="color: #7f0055;"><strong>import </strong></span><span style="color: #000000;">javax.portlet.RenderRequest;</span>

<span style="color: #7f0055;"><strong>import </strong></span><span style="color: #000000;">javax.portlet.RenderResponse;</span>

<span style="color: #7f0055;"><strong>import </strong></span><span style="color: #000000;">org.springframework.web.portlet.ModelAndView;</span>

<span style="color: #7f0055;"><strong>import </strong></span><span style="color: #000000;">org.springframework.web.portlet.mvc.AbstractController;</span>

<span style="color: #3f5fbf;">/**</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* @portlet.portlet  name="SamplePortlet"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*                  portlet-class="org.springframework.web.portlet.DispatcherPortlet"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*                  display-name="Sample Portlet" expiration-cache="0"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* </span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* @portlet.portlet-init-param  name="contextConfigLocation"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*                              value="/WEB-INF/context/sample/applicationPortlet.xml"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* </span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* @portlet.supports   mime-type="text/html"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*             modes="view,edit,help"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* </span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* @portlet.portlet-info title="Sample Portlet" keywords="Sample"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*                       short-title="Sample"</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* </span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">* </span><span style="color: #7f9fbf;">@author </span><span style="color: #3f5fbf;">Abner Nazario Ballardo Urco</span>

<span style="color: #ffffff;"> </span><span style="color: #3f5fbf;">*/</span>

<span style="color: #7f0055;"><strong>public class </strong></span><span style="color: #000000;">SamplePortlet </span><span style="color: #7f0055;"><strong>extends </strong></span><span style="color: #000000;">AbstractController </span><span style="color: #000000;">{</span>

<span style="color: #ffffff;"> </span><span style="color: #7f0055;"><strong>public </strong></span><span style="color: #000000;">ModelAndView handleRenderRequestInternal</span><span style="color: #000000;">(</span><span style="color: #000000;">RenderRequest request,</span>

<span style="color: #ffffff;"> </span><span style="color: #000000;">RenderResponse response</span><span style="color: #000000;">) </span><span style="color: #7f0055;"><strong>throws </strong></span><span style="color: #000000;">Exception </span><span style="color: #000000;">{</span>

<span style="color: #ffffff;"> </span><span style="color: #7f0055;"><strong>return new </strong></span><span style="color: #000000;">ModelAndView</span><span style="color: #000000;">(</span><span style="color: #2a00ff;">"sample"</span><span style="color: #000000;">, </span><span style="color: #2a00ff;">"model"</span><span style="color: #000000;">, </span><span style="color: #2a00ff;">"hello"</span><span style="color: #000000;">)</span><span style="color: #000000;">;</span>

<span style="color: #ffffff;"> </span><span style="color: #000000;">}</span>

<span style="color: #000000;">}</span></code></pre>
<p>Pero XDoclet no generaba correctamente el archivo (estaba en blanco), en fin,&#8230; luego de varias pruebas encontre que el archivo portlet_xml.xdt tenía esta definición</p>
<pre><code> <strong>&lt;XDtClass:forAllClasses type="javax.portlet.GenericPortlet"&gt;</strong>
  &lt;XDtClass:forAllClassTags tagName="portlet.portlet" superclasses="true"&gt;
    &lt;portlet&gt;
      ...............
</code></pre>
<p>Como vemos se indica que solo procese las clases que extiendan de <strong>javax.portlet.GenericPortlet</strong>,  para poder usar libremente XDoclet Porlet Module con Spring solo necesitamos modificar el archivo .xdt que se encuentra en:</p>
<p><strong>JAR: xdoclet-portlet-module.jar<br />
Ruta: /xdoclet/modules/portlet/resources/portlet_xml.xdt</strong></p>
<pre><code> <strong>&lt;XDtClass:forAllClasses&gt;
 &lt;XDtClass:ifHasClassTag tagName="portlet.portlet"&gt;</strong>
  &lt;XDtClass:forAllClassTags tagName="portlet.portlet" superclasses="true"&gt;
    &lt;portlet&gt;
      ...............
  &lt;/XDtClass:forAllClassTags&gt;
 <strong>&lt;/XDtClass:ifHasClassTag&gt;
 &lt;/XDtClass:forAllClasses&gt;</strong>
</code></pre>




	<a rel="nofollow"  target="_blank" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;bodytext=Nadie%20puede%20negar%20que%20la%20programaci%C3%B3n%20orientada%20a%20atributos%20es%20muy%20util.%20Pues%20bien%2C%20estuve%20jugando%20con%20Spring%20Framework%202.0M3%2C%20en%20especial%20el%20modulo%20para%20Porlets.%0D%0A%0D%0ASeg%C3%BAn%20la%20regla%20que%20sigo%3A%20%22Mientras%20menos%20hago%20m%C3%A1s%20avanzo%22%2C%20decid%C3%AD%20usar%20el%20modulo" title="Digg"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" /></a>
	<a rel="nofollow"  target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;notes=Nadie%20puede%20negar%20que%20la%20programaci%C3%B3n%20orientada%20a%20atributos%20es%20muy%20util.%20Pues%20bien%2C%20estuve%20jugando%20con%20Spring%20Framework%202.0M3%2C%20en%20especial%20el%20modulo%20para%20Porlets.%0D%0A%0D%0ASeg%C3%BAn%20la%20regla%20que%20sigo%3A%20%22Mientras%20menos%20hago%20m%C3%A1s%20avanzo%22%2C%20decid%C3%AD%20usar%20el%20modulo" title="del.icio.us"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;t=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC" title="Facebook"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;annotation=Nadie%20puede%20negar%20que%20la%20programaci%C3%B3n%20orientada%20a%20atributos%20es%20muy%20util.%20Pues%20bien%2C%20estuve%20jugando%20con%20Spring%20Framework%202.0M3%2C%20en%20especial%20el%20modulo%20para%20Porlets.%0D%0A%0D%0ASeg%C3%BAn%20la%20regla%20que%20sigo%3A%20%22Mientras%20menos%20hago%20m%C3%A1s%20avanzo%22%2C%20decid%C3%AD%20usar%20el%20modulo" title="Google Bookmarks"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.friendfeed.com/share?title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;link=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html" title="FriendFeed"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/friendfeed.png" title="FriendFeed" alt="FriendFeed" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;source=Module+Lost+Thoughts+about+software+development+%26amp%3B+productivity&amp;summary=Nadie%20puede%20negar%20que%20la%20programaci%C3%B3n%20orientada%20a%20atributos%20es%20muy%20util.%20Pues%20bien%2C%20estuve%20jugando%20con%20Spring%20Framework%202.0M3%2C%20en%20especial%20el%20modulo%20para%20Porlets.%0D%0A%0D%0ASeg%C3%BAn%20la%20regla%20que%20sigo%3A%20%22Mientras%20menos%20hago%20m%C3%A1s%20avanzo%22%2C%20decid%C3%AD%20usar%20el%20modulo" title="LinkedIn"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/linkedin.png" title="LinkedIn" alt="LinkedIn" /></a>
	<a rel="nofollow"  target="_blank" href="http://twitter.com/home?status=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC%20-%20http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html" title="Twitter"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" /></a>
	<a rel="nofollow"  target="_blank" href="http://www.myspace.com/Modules/PostTo/Pages/?u=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;t=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC" title="MySpace"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/myspace.png" title="MySpace" alt="MySpace" /></a>
	<a rel="nofollow"  target="_blank" href="http://ping.fm/ref/?link=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html&amp;title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;body=Nadie%20puede%20negar%20que%20la%20programaci%C3%B3n%20orientada%20a%20atributos%20es%20muy%20util.%20Pues%20bien%2C%20estuve%20jugando%20con%20Spring%20Framework%202.0M3%2C%20en%20especial%20el%20modulo%20para%20Porlets.%0D%0A%0D%0ASeg%C3%BAn%20la%20regla%20que%20sigo%3A%20%22Mientras%20menos%20hago%20m%C3%A1s%20avanzo%22%2C%20decid%C3%AD%20usar%20el%20modulo" title="Ping.fm"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/ping.png" title="Ping.fm" alt="Ping.fm" /></a>
	<a rel="nofollow"  target="_blank" href="http://slashdot.org/bookmark.pl?title=Xdoclet%20-%20Portlet%20Module%20%26%20Spring%20Portlet%20MVC&amp;url=http%3A%2F%2Fwww.modlost.net%2Fhome%2Farticle%2Fxdoclet-portlet-module-a-spring-porlet-mvc.html" title="Slashdot"><img src="http://www.modlost.net/home/wp-content/plugins/sociable/images/slashdot.png" title="Slashdot" alt="Slashdot" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://www.modlost.net/home/article/xdoclet-portlet-module-a-spring-porlet-mvc.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
