Apple WebObjects 3.5 User Manual

Page 39

Advertising
background image

Client-Side Java Components

39

When you look at client-side component’s bindings in the

.wod

file, it looks

like this example:

INPUTFIELD : WOApplet {

code = "next.wo.client.controls.TextFieldApplet.class";
codebase = "/WebObjects/Java";
archive = "woextensions.jar";
width = "200";
height = "20";
associationClass = "next.wo.client.SimpleAssociation";
stringValue = inputString

};

Like any other server-side dynamic element, the WOApplet’s definition
contains a list of attributes bound to constants or variables in the
component’s code.

The

code

attribute specifies which client-side component this WOApplet

should download. The

codebase

attribute specifies the path of the component

relative to your web server’s document root. (For the provided client-side
components, this path is always

/WebObjects/Java

.)

The

archive

attribute specifies

.jar

files that should be preloaded onto the

client machine. If you don’t use this attribute, the applet downloads Java

.class

files from the server one by one as it needs them. With the

archive

attribute, you can package all necessary Java classes into archive files, and
they are downloaded once. However, only web browsers that have Java 1.1
support can use

.jar

files. Because Java 1.1 is fairly new, there’s a good chance

your users use browsers that don’t support

.jar

files. All of the provided

client-side components are packaged in a single archive file named

woextensions.jar

.

The

associationClass

attribute differentiates the client-side components from

any other applet you might include in your application. This attribute
specifies an object (a subclass of

next.wo.client.Association

) that the component

uses to communicate with the application on the server. The Association
object can get and set component state and cause methods to be invoked in
the server when actions are triggered in the client. For the WebObjects-
provided client-side components, this attribute is always

next.wo.client.SimpleAssociation

. If you create your own client-side components,

you provide your own Association subclass.

The final attribute,

stringValue

, is an attribute specific to the TextFieldApplet

component. The Association object assigns the value of the

inputString

variable to be the value of the text field on the client and keeps the two
objects in sync so that they always have the same value.

Advertising