Tuesday, 5 June 2012

How to create Simple Spring portlet in liferay


Step 1)create spring portlet called Springdemo
Step 2) put all this jar file into your lib folder under WEB-INF/lib

 Jstl.jar
 org.springframework.asm-3.0.0-RC1.jar
org.springframework.context-3.0.0-RC1.jar
org.springframework.beans-3.0.0-RC1.jar
org.springframework.core-3.0.0-RC1.jar
org.springframework.expression-3.0.0-RC1.jar
org.springframework.web.portlet-3.0.0-RC1.jar
org.springframework.web.servlet-3.0.0-RC1.jar
org.springframework.web-3.0.0-RC1.jar
standared.jar

Step 3) create one .xml file with name of your portlet in WEB-INF folder, put this code in the .xml file
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/util
        http://www.springframework.org/schema/util/spring-util-3.0.xsd
        ">



<bean id="helloWorldController"                                        
   class="com.liferay.test.HelloWorldController"/>

 <bean id="portletModeHandlerMapping"                                  
  class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">
 
  <property name="portletModeMap">
   <map>
    <entry key="view">                                                  
     <ref bean="helloWorldController" />                                
    </entry>                                                            
   </map>
  </property>
</bean>

 <bean id="viewResolver"                                                
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass"
   value="org.springframework.web.servlet.view.JstlView"/>
  <property name="prefix" value="/WEB-INF/jsp/" />
  <property name="suffix" value=".jsp" />
 </bean>
</beans>
Step 4)  Edit the portlet.xml file change the <portlet-class> tag
   <portlet-class>org.springframework.web.portlet.DispatcherPortlet</portlet-class>
Step5)Edit the web.xml File put this code into web.xml
<servlet>
  <servlet-name>ViewRendererServlet</servlet-name>
  <servlet-class>
    org.springframework.web.servlet.ViewRendererServlet
  </servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>ViewRendererServlet</servlet-name>
  <url-pattern>/WEB-INF/servlet/view</url-pattern>
</servlet-mapping>
Step 6) Now Create class under src folder com/liferay/test called HelloWorldController,put this code into this class









import java.util.HashMap;
import java.util.Map;

import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;

import org.springframework.web.portlet.ModelAndView;
import org.springframework.web.portlet.mvc.Controller;

public class HelloWorldController implements Controller{


 public void handleActionRequest(ActionRequest request,
    ActionResponse response)throws Exception {
 }


 public ModelAndView handleRenderRequest
  (RenderRequest request, RenderResponse response)
 throws Exception {


   Map<String, Object> model =
      new HashMap<String,Object>();
model.put("helloWorldMessage", "This is Hello World Spring Portlet!!!!!!");
return new ModelAndView("helloWorld", model);
}
}

Step 7)Now build the service and deploy the portlet

No comments:

Post a Comment