Journal Content Search
Navigation
 
Hello World

Hello World

This portlet demonstrates how to delegate to an existing JSR-168 portlet via a HandlerAdapter

Portlet Name: wrapped-hello-world

Init Parameters:

  • JerrySeinfeld = The funny property
  • HarryPotter = The magic property
HelloWorldPortlet.java
package org.springframework.web.portlet.sample;
                                                                                                                            
import javax.portlet.GenericPortlet;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.PortletException;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.Enumeration;
                                                                                                                            
public class HelloWorldPortlet extends GenericPortlet {
                                                                                                                            
    public void doView(RenderRequest request, RenderResponse response)
        throws PortletException, IOException {
        System.out.println("Entering HelloWorldPortlet.doView");
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.println("<h1>Hello World</h1>");
        out.println("<p>This portlet demonstrates how to delegate to "+
                "an existing JSR-168 portlet via a HandlerAdapter</p>");
        out.println("<p>Portlet Name: " + this.getPortletName() + "</p>");
        out.println("<p>Init Parameters:</p><ul>");
        for (Enumeration e = this.getInitParameterNames(); e.hasMoreElements();) {
            String name = (String)e.nextElement();
            out.println("<li>" + name + " = " + this.getInitParameter(name) + "</li>");
        }
        out.println("</ul>");
    }
                                                                                                                            
}
HelloWorldPortlet.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "../../dtd/spring-beans.dtd">
<beans>
                                                                                                       
        <!-- Reused Portlet -->
                                                                                                       
        <bean id="helloWorldPortlet" class="org.springframework.web.portlet.mvc.PortletWrappingController">
                <property name="portletClass">
                        <value>org.springframework.web.portlet.sample.HelloWorldPortlet</value>
                </property>
                <property name="useSharedPortletConfig">
                        <value>false</value>
                </property>
                <property name="portletName">
                        <value>wrapped-hello-world</value>
                </property>
                <property name="initParameters">
                        <props>
                                <prop key="HarryPotter">The magic property</prop>
                                <prop key="JerrySeinfeld">The funny property</prop>
                        </props>
                </property>
        </bean>
                                                                                                       
        <!-- Alternate method to reuse portlet - simpler, but no ability to rename or set init parameters
        <bean id="simplePortletHandlerAdapter" class="org.springframework.web.portlet.handler.SimplePortletHandlerAdapter"/>
        <bean id="simplePortletPostProcessor" class="org.springframework.web.portlet.handler.SimplePortletPostProcessor"/>
        <bean id="helloWorldPortlet" class="org.springframework.web.portlet.sample.HelloWorldPortlet"/>
        -->
                                                                                                       
        <!-- Handler Mapping -->
                                                                                                       
        <bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">
                <property name="portletModeMap">
                        <map>
                                <entry key="view"><ref bean="helloWorldPortlet"/></entry>
                        </map>
                </property>
        </bean>
                                                                                                       
        <!-- Exceptions Handler -->
                                                                                                       
        <bean id="defaultExceptionHandler" parent="defaultExceptionHandlerTemplate"/>
                                                                                                       
</beans>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "../../dtd/spring-beans.dtd">
<beans>
                                                                                                       
        <!-- Reused Portlet -->
                                                                                                       
        <bean id="helloWorldPortlet" class="org.springframework.web.portlet.mvc.PortletWrappingController">
                <property name="portletClass">
                        <value>org.springframework.web.portlet.sample.HelloWorldPortlet</value>
                </property>
                <property name="useSharedPortletConfig">
                        <value>false</value>
                </property>
                <property name="portletName">
                        <value>wrapped-hello-world</value>
                </property>
                <property name="initParameters">
                        <props>
                                <prop key="HarryPotter">The magic property</prop>
                                <prop key="JerrySeinfeld">The funny property</prop>
                        </props>
                </property>
        </bean>
                                                                                                       
        <!-- Alternate method to reuse portlet - simpler, but no ability to rename or set init parameters
        <bean id="simplePortletHandlerAdapter" class="org.springframework.web.portlet.handler.SimplePortletHandlerAdapter"/>
        <bean id="simplePortletPostProcessor" class="org.springframework.web.portlet.handler.SimplePortletPostProcessor"/>
        <bean id="helloWorldPortlet" class="org.springframework.web.portlet.sample.HelloWorldPortlet"/>
        -->
                                                                                                       
        <!-- Handler Mapping -->
                                                                                                       
        <bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">
                <property name="portletModeMap">
                        <map>
                                <entry key="view"><ref bean="helloWorldPortlet"/></entry>
                        </map>
                </property>
        </bean>
                                                                                                       
        <!-- Exceptions Handler -->
                                                                                                       
        <bean id="defaultExceptionHandler" parent="defaultExceptionHandlerTemplate"/>
                                                                                                       
</beans>