Including JavaScript source code

The next piece of code includes the JavaScript code from the ds>js>delivery.js file in the page so that the functions in the code can be called from the current page.

<script language="JavaScript" src="js/delivery.js"></script>

Populating a frameset in a JSP

The next chunk of code uses the doReloadFrame, frame, and action tags from the delivery-js.tld file to create a JavaScript function that correctly reloads the specified frame when an action occurs in another frame.

<js:doReloadFrame>

<js:frame

name="system"><delivery:action>system</delivery:action></js:frame>

<js:frame

name="courseTree"><delivery:action>courseTree</delivery:action></js:fra

me>

<js:frame

name="courseTools"><delivery:action>courseTools</delivery:action></js:f

rame>

<js:frame

name="activity"><delivery:action>activity</delivery:action></js:frame>

</js:doReloadFrame>

Displaying errors to the user

The next chunk of code uses the define tag of the Struts-bean tag library to retrieve the context parameter of the delivery_context JavaBean. The code inside the script opening and closing tags is JavaScript code that defines the load function which reports any errors generated by the context parameter. If errors are encountered, the code displays the errors in an alert box on the page.

<bean:define id="context" name="delivery_context" scope="request" type="com.lotus.elearn.delivery.DeliveryContext"/>

<script language="Javascript">

var

mainDeliveryServerFrame = true;

var

contentWindow = null;

var

API = null;

function load()

{

<% if (context.getErrorMessageKey() != null) { %>

alert("<delivery:errorMessage key="<%=context.getErrorMessageKey()%>" filter="false"/>");

<% } %>

API = window.frames['system'].document.applets['api-adapter'];

}

</script>

</head>

Chapter 5: Customizing JavaServer Pages 29

Page 34
Image 34
IBM R1 Script language=JavaScript src=js/delivery.js/script, Populating a frameset in a JSP, Displaying errors to the user