Wiki source code of Create a new WO Component

Version 9.1 by Lachlan Deck on 2007/01/07 22:07

Hide last authors
Mike Schrag 3.1 1 Let's add a new WO Component to our project.
2
David Holt 6.1 3 ~1. Right-Click/Ctrl-Click on the project and select "New" => "WOComponent"
Mike Schrag 3.1 4
David Holt 6.1 5 [[image:Picture 25.png]]
6
Mike Schrag 3.1 7 ----
8
David Holt 6.1 9 2. The "New WebObjects Component" dialog opens. The only required field is the WOComponent name. Let's just use the default "MyComponent" as the component name. I generally deselect "Create body tag" and "Create api file", but you can leave them if you'd like. Click "Finish" to continue.
Mike Schrag 3.1 10
David Holt 6.1 11 [[image:Picture 26.png]]
Mike Schrag 3.1 12
13 ----
14
David Holt 6.1 15 3. You should now have a new MyComponent.java in your source folder, a MyComponent.wo folder at the project root (or whereever you decide to add the component), a wod, woo, html, and optional api file, and the Component Editor should now open to show your new component.
Mike Schrag 3.1 16
David Holt 6.1 17 [[image:Picture 27.png]]
Mike Schrag 3.1 18
19 ----
20
David Holt 6.1 21 4. Switch to the "Java" tab and add the "greeting" method as defined in the picture below and save.
Mike Schrag 3.1 22
David Holt 6.1 23 [[image:Picture 28.png]]
Mike Schrag 3.1 24
25 ----
26
David Holt 6.1 27 5. Now switch to the "Component" tab, add a <webobject> tag in the HTML and save, then the WOD definition and save. Note that you must save each of the editors individually for changes to be visible ~-~- even in the split view. If your file is unsaved, you will see a "**" next to the filename in the tab at the top of the editor.**
Mike Schrag 3.1 28
David Holt 6.1 29 [[image:Picture 29.png]]
Mike Schrag 3.1 30
31 ----
32
David Holt 6.1 33 6. Now switch to your Main.wo Component Editor "Component" tab and add a <webobject> tag named "Greeting" and save. Switch to the WOD editor and add a Greeting element that is of type "MyComponent" (you'll notice that code completion now shows MyComponent in the list, because it is a subclass of WOElement).
Mike Schrag 3.1 34
David Holt 6.1 35 [[image:Picture 30.png]]
Mike Schrag 3.1 36
37 ----
38
David Holt 6.1 39 7. Adding a new Java file technically is not a violation of Hot Code Replacement, however, WO seems to not like a new HTML template appearing in your bundle that it doesn't know about. So go ahead and stop your app if it's running and then re-debug it (from the previous instructions). You should now have a "Hello!" in Main.wo is generated by the embedded MyComponent component.
Mike Schrag 3.1 40
David Holt 6.1 41 (Note: I found no need to stop/start. It worked fine ~-~- Lachlan Deck 8 Jan 2007).
Mike Schrag 3.1 42
David Holt 6.1 43 [[image:Picture 31.png]]
44
Mike Schrag 3.1 45 ----
46
Lachlan Deck 8.1 47 8. Continue on to see how to [[Add a Framework Dependency]] to your project.