vendredi 9 août 2013

Primefaces Liferay portlet


Step 1

Suppose the example already set Liferay portal and plugins SDK in your workspace

Go to New -> Liferay project


Step 2 

Select "Liferay MVC"



Step 3

Go to docroot/WEB-INF and create new file faces-config.xml with following content:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    xmlns="http://java.sun.com/xml/ns/javaee|http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd"
    version="2.0">
</faces-config>

Step 4

Open docroot/WEB-INF/web.xml
Change root element "web-app" to following:
<web-app
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee"
 xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp"
 xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
 id="WebApp_ID"
 version="3.0">
And add following servlet configuration:
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>  
</servlet>  
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
</servlet-mapping>

Step 5

Copy these files to docroot/WEB-INF/lib directory:
  • javax.facaes-2.1.7.jar
  • portletfaces-bridge-2.0.1.jar
  • primefaces-3.2.jar


Step 6

Modify portlet.xml file under docroot/WEB-INF as follows:
<?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>primefaces-basic</portlet-name>
                <display-name>PrimeFaces Basic</display-name>
                <portlet-class>org.portletfaces.bridge.GenericFacesPortlet</portlet-class>
                <init-param>
                        <name>javax.portlet.faces.defaultViewId.view</name>
                        <value>/view.xhtml</value>
                </init-param>
                <init-param>
                        <name>javax.portlet.faces.defaultViewId.edit</name>
                        <value>/edit.xhtml</value>
                </init-param>
                <supports>
                        <mime-type>text/html</mime-type>
                        <portlet-mode>view</portlet-mode>
                </supports>
                <portlet-info>
                        <title>PrimeFaces demo portlet</title>
                        <short-title>PrimeFaces basic portlet</short-title>
                        <keywords>primefaces</keywords>
                </portlet-info>
        </portlet>
</portlet-app>

Step 7

Create file view.xhtml in docroot with following content:
<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 TransitionalEN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">
<h:head>
</h:head>
<body>
    <h:form>
         <p:calendar></p:calendar>
    </h:form>
</body>
</html>

Step 8

Deploy to liferay instance





Src -> Wiki Liferay

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites More