IBM R1 Including tag library descriptor files, Referencing Struts tags, Localizing page content

Page 29

The first block of executable code is a page directive that applies to the entire page and specifies the language of the page as Java and sets the MIME type and character encoding to use for the response:

<%@ page language="java" contentType="text/html;charset=UTF-8" %>

Including tag library descriptor files

The next block of code is made up of taglib directives. These identify the names of the tag libraries associated with the page. They also identify the prefixes to use before tags from each library.

<%@ taglib uri="/WEB-INF/tld/Struts-bean.tld"

prefix="bean" %>

<%@ taglib uri="/WEB-INF/tld/Struts-html.tld"

prefix="html" %>

<%@ taglib uri="/WEB-INF/tld/Struts-logic.tld"

prefix="logic" %>

<%@ taglib uri="/WEB-INF/tld/lms.tld"

prefix="lms" %>

Referencing Struts tags

The next line of code is an html tag from the Struts-html tag library. The “html” before the colon is the prefix representing the Struts-html tag library and the “html” after the colon represents the tag in that library named html:

<html:html locale="true">

The value “true” in the locale attribute indicates to set the current locale for the user if needed. This prompts the servlet to retrieve the locale from the requesting browser. The value returned determines which language-version resources to use for the rest of the session.

Localizing page content

The next group of tags makes up the head HTML tag. The META tag defines the character set to use for the HTTP response message header. In the next line, we see another JSP tag at work. The message tag in the lms tag library is programmed to retrieve the resource key specified in the key attribute from the .properties resource file and display it on the page. Since the content of the application.title resource key in the ApplicationResource.properties file for the LMM application contains the text, “IBM Lotus Learning Management System,” this is text that displays as the title on the adminTemplate page. See “Updating page text.”

<head>

<META http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title><lms:message key="application.title" /></title>

Including standard JSP actions

The next line of code is a standard JSP action called the getProperty tag. This tag and any others that have a jsp prefix are standard JSP actions and are available for use in all JSPs. See the JavaServer Pages 1.2 Specification downloadable from http://www.jcp.org/aboutJava/communityprocess/final/jsr053/for more details. The getProperty tag initializes a JavaBean, which is a reusable Java component, and retrieves a property from it.

Determining the user’s browser type and language preference

The property being requested, the “styleSheetLink” property, contains the name of the appropriate CSS file to apply to the page based on the type of browser that is submitting the user request.

<jsp:getProperty name="BrowserSniffer" property="styleSheetLink"/>

24 IBM Lotus Learning Management System Release 1 Customization Guide

Image 29
Contents Customization Guide List of Trademarks DisclaimerLicensed Materials Property of IBM Page Table of Contents Index Customization setsCreating a tab Customizing the user interface Acronyms and abbreviations Disclaimer and a word about conventionsAcronym or What it stands for Abbreviation Page Changing settings Chapter Changing settings through the user interface or XMLPage To add a role to the system Chapter Controlling access to features through permissionsTo assign a role to a user To modify permissions settings for an existing roleTo automatically assign a role to a user To explicitly assign a role to a userControlling access to features Page Anatomy of a Help topic Chapter Customizing HelpScript Background-repeat repeat-x Mosaic-bgScript Head Lmsform action=/prefSubmit.do % Editing an existing Help topicReplacing a context-sensitive Help topic Adding your own Help topic HREF=shenrolled.html target=topEnrolled courses/Abr HREF=shnotifications.html target=topNotifications/AbrOverview Chapter Customizing JavaServer PagesServerNameWEB-INFtld Anatomy of a TLD fileLMS JSP tag libraries Defining the url tag in the TLD file Referencing the url tag in a JSPString formName = request.getParameterformName ServerNameWEB-INFclassescomlotuselearntaglib Rtexprvaluetrue/rtexprvalue Attribute TagDefining a page as a JSP Learning Management System serverAnatomy of a JSP Referencing Struts tags Localizing page contentIncluding tag library descriptor files Including the JSPs that comprise the main template Including JavaScript source codeLogicnotPresent LogicnotMatch Td class=formBoxTitleBg colspan=3 valign=middle nowrapDiv class=formBoxPositionInner DivLogicpresent LogicnotPresent logicpresent name=invalidFormLocalizing page text Delivery serverPopulating a frameset in a JSP Displaying errors to the userScript language=JavaScript src=js/delivery.js/script Defining resizable frames Frameset Html Making global changesChanging the application style Applying customization setsServerNamecsslanguageCodebrowserType Editing existing CSS filesLanguage-version Browser-versionReplacing CSS files Adding your own CSS filesChanging the font size or font style of the application @import urlmyStyles.cssServerNameWEB-INFclassesresourcesserverNameproperties Updating page textApplication.title = IBM Lotus Learning Management System Titlelmsmessage key=application.title //titleAdding and replacing graphics Lmslinklmsimg src=images/name.gif… //lmslinkLearning Management System server Replacing the application logoImage.alt.logo = IBM Lotus Learning Management System Delivery serverReplacing a reference to a CSS style Changing individual JSPsDeliverylogoURL resource=images/myCompanyLogo.gif Changing the style of an individual JSPSpecifying the next page to display Editing existing JSP tagsChanging the functionality of an individual JSP Editing form Bean values with the lmshidden tag Canceling the submission of a formSubmitting a form Lmshidden name=%=formName% property=unmodifiedKeywords Removing JSP tagsLmshidden property=userEvent Custom fieldsIt then checks to see if its a text box type field LogicnotPresent Logicequal Page Customizing user searches Chapter Customizing SearchAdding Ldap attributes to User Search pages Attribute name=HealthPlanChoice type=java.lang.StringRemoving fields from User Search pages HealthPlanChoice = Employees Health PlanCustomizing course management and resource searches Customizing Offerings Catalog searchesAdding custom fields to the Offerings Catalog Removing fields from Offerings Search pagesRemoving fields from the Search pages Creating a customization set Chapter Customization setsLMM De en Etc De en etc. SalesCSPage Attribute Name Type Modified Size Path Customization sets Page Users Chapter Creating a tab@ taglib uri=/WEB-INF/tld/lms.tld prefix=lms % Users.jspTd width=1 valign=top Page Users.rosterUsers.subtitle = Roster Users Navigation.xml Users.rosterUsers.search.confirm Users.rosterUsers.searchTrail TrailManageRoles TrailTrail TrailManageProfiles Trail TrailManageUsersName tag page names and resourced text Content tag JSP file namesTarget tag struts action-mapping Label tag breadcrumbsUsers.rosterUsers.search.confirm Title tag title bar text Adding custom permissionsPermissions tag permission to display HelpPage tag context-sensitive HelpOid UpdatetimeName Permid0000000000000000PERM 0000000000003000PERM 0000000000009300PERM Copy the JSPs ExamplePage Creating a tab END Index Content Area Creating a tab Div Second linked page customGoodbye.jsp looks like this Page Create Help files Customtab.htmlCustomtabb.html Select Maxpermid from Permission Add permissions to the LMS databaseEdit ApplicationResources.properties Navigation Edit navigation.xmlAssign permissions Namestudenthome/nameCreating a tab Page Index