IBM R1 Removing JSP tags, Lmshidden name=%=formName% property=unmodifiedKeywords, Custom fields

Page 46

If no value attribute were supplied, the hidden input tag would retrieve a value for the destination property from the form Bean.

The following lms:hidden tag, which is used in the catalogCourseMasterDetail.jsp keeps a copy of the current form’s keywords in the form Bean by supplying values for the name and property attributes.

<lms:hidden name="<%=formName%>" property="unmodifiedKeywords" />

This is useful because, if a user encounters an error or otherwise leaves the form temporarily, the keywords can be repopulated with the values saved in the form Bean.

The following lms:hidden tag, which is used in the catalogCreateCourseConfirm.jsp, creates an HTML hidden input tag that captures the userEvent property.

<lms:hidden property="userEvent" />

This property can be modified by JavaScript triggered by user actions. For instance, JavaScript in the catalogTrailHeader.jsp, which is included in the catalogCreateCourseConfirm.jsp, can reassign a value to the userEvent property when a user clicks a button to initiate a new event.

Removing JSP tags

You can remove a JSP tag from a JavaServer Page by deleting the tag and its associated HTML formatting tags from the page. Removing JSP tags does not only remove elements like buttons and fields from the page, but also removes associated functionality. For example, if you want to remove the ability for users to add custom fields to a Course Details page, you can eliminate the labels, fields and buttons that support this functionality.

The JSP that represents the Course Catalog>Register Course Entry>Course>Course Master>Course Details page in the Administrator interface is the catalogCourseEntryDetails.jsp. This page contains code that displays a popup window in which you can add, delete, or edit custom fields. The source code resides in the WEB-INF>classes>resources>lmm> catalogCourseEntryDetails.jsp directory and begins at line 167 with the following commented out text:

<%--

//////////////////////////////////////

//custom fields

//////////////////////////////////////

--%>

The section of code that displays the Custom Fields section of the page ends with line 283, which contains the code:

</logic:iterate>

Removing the 115 lines of code between these two points removes the “Custom Fields” section header, the Edit button with its Custom Fields label, and the list of existing custom fields from the Course Details page.

The Custom Field Header section of the code uses an lms:message tag to reference the appropriate .properties file to supply the header label:

<lms:message key="catalog.createEntry.details.customFieldDetails"/>

The next section of code, Manage Custom Fields, uses the lms:message tag to supply the text in the customFields resource key of the appropriate .properties file and the lms:label tag to situate the label in the correct place on the page:

<lms:label for="customFields"><lms:message key="catalog.attrib.course.customFields"/></lms:label>

It then includes an lms:button tag. This tag displays a button on the page. The “captionKey” attribute defines the text to display as a label on the button by retrieving the button.edit resource

Chapter 5: Customizing JavaServer Pages 41

Image 46
Contents Customization Guide Licensed Materials Property of IBM DisclaimerList of Trademarks Page Table of Contents Creating a tab Customization setsIndex 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 automatically assign a role to a user To modify permissions settings for an existing roleTo 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 Replacing a context-sensitive Help topic Editing an existing 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 OverviewLMS JSP tag libraries Anatomy of a TLD fileServerNameWEB-INFtld String formName = request.getParameterformName Referencing the url tag in a JSPDefining the url tag in the TLD file Rtexprvaluetrue/rtexprvalue Attribute Tag ServerNameWEB-INFclassescomlotuselearntaglibAnatomy of a JSP Learning Management System serverDefining a page as a JSP Including tag library descriptor files Localizing page contentReferencing Struts tags Including JavaScript source code Including the JSPs that comprise the main templateDiv class=formBoxPositionInner Td class=formBoxTitleBg colspan=3 valign=middle nowrapLogicnotPresent LogicnotMatch DivLogicnotPresent logicpresent name=invalidForm LogicpresentDelivery server Localizing page textScript language=JavaScript src=js/delivery.js/script Displaying errors to the userPopulating a frameset in a JSP Defining resizable frames Making global changes Frameset HtmlApplying customization sets Changing the application styleLanguage-version Editing existing CSS filesServerNamecsslanguageCodebrowserType Browser-versionChanging the font size or font style of the application Adding your own CSS filesReplacing CSS files @import urlmyStyles.cssUpdating page text ServerNameWEB-INFclassesresourcesserverNamepropertiesAdding and replacing graphics Titlelmsmessage key=application.title //titleApplication.title = IBM Lotus Learning Management System Lmslinklmsimg src=images/name.gif… //lmslinkImage.alt.logo = IBM Lotus Learning Management System Replacing the application logoLearning Management System server Delivery serverDeliverylogoURL resource=images/myCompanyLogo.gif Changing individual JSPsReplacing a reference to a CSS style Changing the style of an individual JSPChanging the functionality of an individual JSP Editing existing JSP tagsSpecifying the next page to display Submitting a form Canceling the submission of a formEditing form Bean values with the lmshidden tag Lmshidden property=userEvent Removing JSP tagsLmshidden name=%=formName% property=unmodifiedKeywords Custom fieldsIt then checks to see if its a text box type field LogicnotPresent Logicequal Page Adding Ldap attributes to User Search pages Chapter Customizing SearchCustomizing user searches Attribute name=HealthPlanChoice type=java.lang.StringHealthPlanChoice = Employees Health Plan Removing fields from User Search pagesAdding custom fields to the Offerings Catalog Customizing Offerings Catalog searchesCustomizing course management and resource searches 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 TrailManageProfiles TrailTrail TrailManageRoles Trail TrailManageUsersTarget tag struts action-mapping Content tag JSP file namesName tag page names and resourced text Label tag breadcrumbsUsers.rosterUsers.search.confirm Permissions tag permission to display Adding custom permissionsTitle tag title bar text HelpPage tag context-sensitive HelpName UpdatetimeOid 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