Sample Sping Portlet

标签: 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 附件
19497 查看
平均 (0 票)
满分为 5,平均得分为 0.0。
评论
讨论主题回复 作者 日期
very nice.. Zeeshan Khan 2013年2月25日 下午9:26

在 13-2-25 下午9:26 发帖。