IBM R1 manual Chapter Customizing JavaServer Pages, Overview

Page 24

Chapter 5

Customizing JavaServer Pages

You can customize the Learning Management System application by customizing its JavaServer Pages. This chapter contains the following information:

Overview

LMS JSP tag libraries

The Anatomy of a JSP Making global changes

Applying customization sets

Changing application style

Updating page text

Replacing graphics Changing individual JSPs

Changing a JSP’s style

Altering a JSP’s functionality

Overview

The architecture of the Learning Management System application is based on Struts 1.1, beta 2, which is part of The Jakarta Project, sponsored by Apache Software Foundation. The Struts architecture helps to separate logic from presentation in a JavaServer Page application using the MVC (Model-View-Controller) design pattern. In this design pattern, the Model component represents the business logic of the application, the View represents the display mechanism, and the Controller passes control from the request to the model and from the model to the view.

In the Learning Management System application, a user request triggers the initialization of a controller servlet that parses a configuration file. The configuration file, named Struts-config.xml, maps the request to the appropriate action class to handle it. Action classes on the Learning Management System server have a .do extension and those on the Delivery server have a .ds extension. Once the handler performs the action, it calls a form class to structure the result. It also determines which JavaServer Page the response should be forwarded to for display in the browser. The Struts-config.xml file contains action mappings that map the forwards returned by the actions to specific JavaServer Pages. The Struts-config.xml file contains both global forwards and one or more additional forwards for specific actions. You can find documentation defining the Struts architecture at http://jakarta.apache.org/Struts/.

The view component of the MVC model is handled by JavaServer Pages in the Learning Management System. The JavaServer Pages reside on each server hosting the application. JavaServer Pages (JSPs) are pages comprised of standard HTML, JavaScript, Java scriptlets, and JSP tags. JSP tags are similar to HTML tags; both define display characteristics for elements on a page. However, JSP tags differ in that they also serve as references to Java code. Each JSP tag triggers the execution of a piece of Java code written and stored elsewhere in the application. The attributes of a JSP tag serve as the parameters to pass to the Java class.

A JSP is served to a browser client from the server of the hosting application. It works like this: when a JSP-based application is deployed, the server pre-compiles the JavaServer Pages into a servlet, which executes any code triggered by the JSP tags on the page and dynamically generates the response page content. These pre-compiled JSPs are stored in the server’s file directory. When

Chapter 5: Customizing JavaServer Pages 19

Image 24
Contents Customization Guide Disclaimer Licensed Materials Property of IBMList of Trademarks Page Table of Contents Customization sets Creating a tabIndex Customizing the user interface Disclaimer and a word about conventions Acronyms and abbreviationsAcronym or What it stands for Abbreviation Page Chapter Changing settings through the user interface or XML Changing settingsPage Chapter Controlling access to features through permissions To add a role to the systemTo modify permissions settings for an existing role To assign a role to a userTo automatically assign a role to a user To explicitly assign a role to a userControlling access to features Page Chapter Customizing Help Anatomy of a Help topicScript Mosaic-bg Background-repeat repeat-xScript Head Editing an existing Help topic Replacing a context-sensitive Help topicLmsform action=/prefSubmit.do % Adding your own Help topic HREF=shnotifications.html target=topNotifications/Abr HREF=shenrolled.html target=topEnrolled courses/AbrChapter Customizing JavaServer Pages OverviewAnatomy of a TLD file LMS JSP tag librariesServerNameWEB-INFtld Referencing the url tag in a JSP String formName = request.getParameterformNameDefining the url tag in the TLD file Rtexprvaluetrue/rtexprvalue Attribute Tag ServerNameWEB-INFclassescomlotuselearntaglibLearning Management System server Anatomy of a JSPDefining a page as a JSP Localizing page content Including tag library descriptor filesReferencing Struts tags Including JavaScript source code Including the JSPs that comprise the main templateTd class=formBoxTitleBg colspan=3 valign=middle nowrap LogicnotPresent LogicnotMatchDiv class=formBoxPositionInner DivLogicnotPresent logicpresent name=invalidForm LogicpresentDelivery server Localizing page textDisplaying errors to the user Script language=JavaScript src=js/delivery.js/scriptPopulating a frameset in a JSP Defining resizable frames Making global changes Frameset HtmlApplying customization sets Changing the application styleEditing existing CSS files ServerNamecsslanguageCodebrowserTypeLanguage-version Browser-versionAdding your own CSS files Replacing CSS filesChanging the font size or font style of the application @import urlmyStyles.cssUpdating page text ServerNameWEB-INFclassesresourcesserverNamepropertiesTitlelmsmessage key=application.title //title Application.title = IBM Lotus Learning Management SystemAdding and replacing graphics Lmslinklmsimg src=images/name.gif… //lmslinkReplacing the application logo Learning Management System serverImage.alt.logo = IBM Lotus Learning Management System Delivery serverChanging individual JSPs Replacing a reference to a CSS styleDeliverylogoURL resource=images/myCompanyLogo.gif Changing the style of an individual JSPEditing existing JSP tags Changing the functionality of an individual JSPSpecifying the next page to display Canceling the submission of a form Submitting a formEditing form Bean values with the lmshidden tag Removing JSP tags Lmshidden name=%=formName% property=unmodifiedKeywordsLmshidden property=userEvent Custom fieldsIt then checks to see if its a text box type field LogicnotPresent Logicequal Page Chapter Customizing Search Customizing user searchesAdding Ldap attributes to User Search pages Attribute name=HealthPlanChoice type=java.lang.StringHealthPlanChoice = Employees Health Plan Removing fields from User Search pagesCustomizing Offerings Catalog searches Customizing course management and resource searchesAdding custom fields to the Offerings Catalog Removing fields from Offerings Search pagesRemoving fields from the Search pages Chapter Customization sets Creating a customization setLMM De en etc. SalesCS De en EtcPage Attribute Name Type Modified Size Path Customization sets Page Chapter Creating a tab UsersUsers.jsp @ taglib uri=/WEB-INF/tld/lms.tld prefix=lms %Td width=1 valign=top Page Users.rosterUsers.subtitle = Roster Users Navigation.xml Users.rosterUsers.search Users.rosterUsers.search.confirmTrail Trail TrailManageRolesTrail TrailManageProfiles Trail TrailManageUsersContent tag JSP file names Name tag page names and resourced textTarget tag struts action-mapping Label tag breadcrumbsUsers.rosterUsers.search.confirm Adding custom permissions Title tag title bar textPermissions tag permission to display HelpPage tag context-sensitive HelpUpdatetime OidName Permid0000000000000000PERM 0000000000003000PERM 0000000000009300PERM Example Copy the JSPsPage Creating a tab END Index Content Area Creating a tab Div Second linked page customGoodbye.jsp looks like this Page Customtab.html Create Help filesCustomtabb.html Add permissions to the LMS database Select Maxpermid from PermissionEdit ApplicationResources.properties Edit navigation.xml NavigationNamestudenthome/name Assign permissionsCreating a tab Page Index