Presentation is loading. Please wait.

Presentation is loading. Please wait.

Basic Portlet Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.

Similar presentations


Presentation on theme: "Basic Portlet Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission."— Presentation transcript:

1 Basic Portlet Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission from Liferay, Inc.

2 Overview  This PowerPoint will teach you how to create a Struts portlet  The intended audience is Java developers  The source code for this exercise is located in source-struts-1

3 Objectives 1.Define the JSR 168 attributes portlet-ext.xml 2.Define the Liferay-specific attributes liferay-portlet-ext.xml 3.Define the page flow struts-config.xml 4.Define the layout tiles-defs.xml 5.Create the JSP view.jsp

4 Why Use Struts?  Most mature and widely used technology  Centralized page flow management (struts-config.xml)  Highly scalable – allows you to separate your code into individual components

5 Why Use Tiles? (1)  Layouts are typically designed using include statements  In order to change the layout, you need to update each page header footer navig ation main content header footer navig ation main content header footer navig ation main content header footer navig ation main content

6 Why Use Tiles? (2)  With Tiles, your pages can extend a single template  Only the template needs to be changed, and all of your pages will be updated accordingly Template

7 High Level Overview (1)  A URL or URI is passed to the Controller  The Controller determines what page should be displayed Controller JSP URL

8 High Level Overview (2) struts-config.xml path="/ext/library/view" forward="portlet.ext.library.view" tiles-defs.xml name="portlet.ext.library.view" value="/portlet/ext/library/view.jsp" view.jsp /portlet/ext/library/view.jsp portlet-ext.xml view-action /ext/library/view

9 Directory Structure  All development for this exercise will be done in the ext-web directory ext\ext-web  All XML files will be located in the WEB-INF directory ext\ext-web\docroot\WEB-INF

10 portlet-ext.xml EXT_4 Library Portlet com.liferay.portlet.StrutsPortlet view-action /ext/library/view 0

11 text/html com.liferay.portlet.StrutsResourceBundle power-user user

12 liferay-portlet-ext.xml EXT_4 ext/library false

13 EXT_4 ext/library false  portlet-ext.xml view-action /ext/library/view

14 struts-config.xml struts-config.xml defines the page flow What is /ext/library/view? portlet-ext.xml: view-action /ext/library/view What is portlet.ext.library.view? It is the forward that we will use to look up the tiles definition

15 tiles-defs.xml tiles-defs.xml defines the page layout What is portlet.ext.library.view?  From struts-config.xml

16 What is /portlet/ext/library/view.jsp? For reference: portlet-ext.xml from JSP Portlet Training view-jsp /portlet/ext/jsp_portlet/view.jsp For the JSP Portlet, we pointed to the JSP directly from portlet-ext.xml. For Struts portlets, this is done through tiles-defs.xml

17 What is portlet? portlet is the template that we will be using (portlet.jsp). See …\portal\portal-web\docroot\WEB-INF\tiles-defs.xml for more information. What is portlet.ext.library ? portlet.ext.library extends portlet. This means that portlet.ext.library will use the portlet.jsp as its template. portlet.ext.library.view extends portlet.ext.library. This means that portlet.ext.library.view will also use portlet.jsp for its template.

18 Create the JSP The next step is to create the JSP  Create a directory called library here: …\ext\ext-web\docroot\html\portlet\ext  Your directory structure should now look like this: …\ext\ext-web\docroot\html\portlet\ext\library  Create view.jsp in the library directory …\ext\ext-web\docroot\html\portlet\ext\library\view.jsp  Finally, enter “Simple Struts Portlet!” in view.jsp

19 Deploy the Files to Tomcat Once you have finished modifying all of the files, deploy them to Tomcat  Open up a cmd prompt –Click “Start”, “Run” and then type “cmd”  Navigate to your ext directory and then type “ant deploy”  …\ext>ant deploy

20 Check the Tomcat Directory Verify that the files were deployed to Tomcat  Go to …\tomcat\webapps\ROOT\WEB-INF and open portlet-ext.xml, liferay-portlet-ext.xml, struts-config-ext.xml and tiles-defs-ext.xml and check to see that the files were deployed correctly.  Next, go to …\tomcat\webapps\ROOT\html\portlet\ext\library and open up view.jsp to see that it was deployed correctly

21 Final Steps 1.Restart Tomcat 2.Open up a new browser and type http://localhost:8080 LOGIN: test@liferay.com PASSWORD: test 3.Click Add Content  Undefined 4.Click javax.portlet.title.EXT_4

22 Key Concepts portlet-ext.xml struts-config.xml tiles-defs.xml view.jsp

23 portlet-ext.xml view-action /ext/library/view struts-config.xml path=“/ext/library/view” forward=“portlet.ext.library.view” tiles-defs.xml name=“portlet.ext.library.view” value=“/portlet/ext/library/view.jsp” view.jsp /portlet/ext/library/view.jsp

24 Objectives Now that we’ve finished building the framework for our portlet, let’s move on to the next exercise. In this exercise, we will:  Create a new file called init.jsp where we will add commonly used variables and declarations  Set the portlet title  Add the portlet to a category

25 init.jsp Create init.jsp in the library directory …\ext\ext-web\docroot\html\portlet\ext\library\init.jsp Enter the following in init.jsp: Add commonly used variables and declarations here! What file are we including with this line? …\portal\portal-web\docroot\html\common\init.jsp This will gives us access to the Liferay tag libraries.

26 view.jsp  Add this line above “Simple Struts Portlet!” in view.jsp Simple Struts Portlet!  This will give us access to the init.jsp located here: …\ext\ext-web\docroot\html\portlet\ext\library\init.jsp  Ant deploy. You do not have to restart Tomcat.  The following should now be displayed: Add commonly used variables and declarations here! Simple Struts Portlet

27 Set the Portlet Title  Go to Language-ext.properties and add the following line: …\ext\ext-ejb\classes\content\Language-ext.properties javax.portlet.title.EXT_4=Library  Ant deploy and Restart Tomcat  The portlet title will now be “Library”

28 Add the Portlet to a Category  Go to liferay-display.xml and add the following line: …\ext\ext-web\docroot\WEB-INF\liferay-display.xml...  You will now be able to select your portlet from the “Test” category

29 Review of Key Concepts portlet-ext.xml struts-config.xml tiles-defs.xml view.jsp

30 portlet-ext.xml view-action /ext/library/view struts-config.xml path=“/ext/library/view” forward=“portlet.ext.library.view” tiles-defs.xml name=“portlet.ext.library.view” value=“/portlet/ext/library/view.jsp” view.jsp /portlet/ext/library/view.jsp

31 Review of EXT_4 ext/library false Liferay will check the struts-path to check whether a user has the required roles to access the portlet Note: When you see the error message: You do not have the required roles to access this portlet. 1.Check to see that you have defined the roles correctly in portlet-ext.xml 2.Check the to see if you have defined it correctly

32 Revision History Edward Shin8/28/2006Updated for Liferay 4.1.1 Jerry Niu9/5/2006-9/8/2006 Updated copyright, copy edits, liferay-portal-ext slide, final steps slide edit Jerry Niu9/27/2006 Fixed wrong tomcat deploy path


Download ppt "Basic Portlet Copyright © 2000 – 2007 Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission."

Similar presentations


Ads by Google