Sample Sping Portlet

Etiquetas: spring

Step 1:

Setup plugin and server environment for Liferay 5.2.0 +

 

Step 2:

Create new portlet by running the following command from plugin → portlet folder.

Command:

ant create -Dportlet.name="spring-mvc-demo" -Dportlet.display.name="Spring MVC Demo Portlet"

(or)

create.bat "spring-mvc-demo" "Spring MVC Demo Portlet"

spring-mvc-demo-portlet will available under portlet folder.

 

Step 3:

Create "context" folder under spring-mvc-demo → docroot → WEB-INF path.

Create the following spring-portlet.xml file under the context folder.

===================spring-portlet.xml============================

<?xml version="1.0" encoding="UTF-8"?>

 

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" >

<property name="prefix">

<value>/WEB-INF/html/</value>

</property>

<property name="suffix">

<value>.jsp</value>

</property>

</bean>

<bean id="portletModeHandlerMapping" class="org.springframework.web.portlet.handler.PortletModeHandlerMapping">

<property name="portletModeMap">

<map>

<entry key="view"><ref local="springController"/></entry>

</map>

</property>

</bean>

<bean id="springController" class="com.sigma.SigmaController" >

<property name="viewName" value="view" />

</bean>

</beans>

 

Step 4:

Create html folder under spring-mvc-demo → docroot → WEB-INF path.

Create the following view.jsp file under the html folder.

===================view.jsp============================

Hi!! Welcome to spring demo porltet.

Note: Delete the file view.jsp, css and js folder which is available under docroot folder.

 

Step 5:

Create sigma folder under spring-mvc-demo → docroot → WEB-INF → src → com path.

Create the following SigmaController.java file under the html folder.

===================SigmaController.java============================

package com.sigma;

 

import javax.portlet.RenderRequest;

import javax.portlet.RenderResponse;

 

import org.springframework.web.portlet.ModelAndView;

import org.springframework.web.portlet.mvc.ParameterizableViewController;

import org.springframework.web.portlet.mvc.AbstractController;

public class SigmaController extends ParameterizableViewController

{

public ModelAndView handleRequest(RenderRequest req,

RenderResponse res) throws Exception {

return new ModelAndView(this.getViewName());

}

}

Note: Delete the jsp folder which is available under

spring-mvc-demo → docroot → WEB-INF → src → com folder.

 

Step 6:

Alter the portlet.xml file which is available under spring-mvc-demo->docroot->WEB-INF path.

<?xml version="1.0"?>

 

<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">

<portlet>

<portlet-name>spring-mvc-demo</portlet-name>

<display-name>Spring MVC Demo Porlet</display-name>

<portlet-class>

org.springframework.web.portlet.DispatcherPortlet

</portlet-class>

<init-param>

<name>contextConfigLocation</name>

<value>/WEB-INF/context/spring-portlet.xml</value>

</init-param>

<expiration-cache>0</expiration-cache>

<supports>

<mime-type>text/html</mime-type>

</supports>

<portlet-info>

<title>Spring MVC Demo Porlet</title>

<short-title>Spring MVC Demo Porlet</short-title>

<keywords>Spring MVC Demo Porlet</keywords>

</portlet-info>

<security-role-ref>

<role-name>administrator</role-name>

</security-role-ref>

<security-role-ref>

<role-name>guest</role-name>

</security-role-ref>

<security-role-ref>

<role-name>power-user</role-name>

</security-role-ref>

<security-role-ref>

<role-name>user</role-name>

</security-role-ref>

</portlet>

</portlet-app>

 

Step 7:

Alter the liferay-display.xml file which is available under spring-mvc-demo → docroot → WEB-INF path.

<?xml version="1.0"?>

<!DOCTYPE display PUBLIC "-//Liferay//DTD Display 5.2.0//EN" "http://www.liferay.com/dtd/liferay-display_5_2_0.dtd">

 

<display>

<category name="category.sigma">

<portlet id="spring-mvc-demo" />

</category>

</display>

 

Step 8:

Alter the web.xml file which is available under spring-mvc-demo->docroot->WEB-INF path.

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

 

<web-app>

<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>

</web-app>

 

Step 9:

Create lib folder if not exists under spring-mvc-demo->docroot->WEB-INF path.

Include the following jar files.

1.spring-webmvc-portlet.jar

2.spring-webmvc.jar

3.spring.jar

4.jstl.jar

 

Step 10:

Goto the spring-mvc-demo folder and run the following command deploy to server.

command: ant clean compile deploy.

 

Step 11:

Start the server and check this portlet.

=============================================================================

 

0 archivos adjuntos
19499 Accesos
Promedio (0 Votos)
La valoración media es de 0.0 estrellas de 5.
Comentarios
Respuestas anidadas Autor Fecha
very nice.. Zeeshan Khan 25 de febrero de 2013 21:26

Publicado el día 25/02/13 21:26.