You can initialize your instance variable in an initialize method
WAComponent subclass: #PrintHtml
instanceVariableNames: 'tasks'
classVariableNames: ''
poolDictionaries: ''
category: 'KillerApp-Web-UI'
Then a method to initialize on the instance side PrintHtml>>initialize:
initialize
"initialize the receiver"
super initialize.
tasks := #('read' 'before' 'you' 'try')
If you send #new to a class this #initialize method is automatically called. If
you do not want it use #basicNew.
So if you enter
PrintHtml new
in a workspace and select "Inspect it" to open an inspector on the new object
this method gets called and therfore you will see that the instance variable
should have the collection as contents.
Side note: Do not forget the "super initialize" in this method - otherwise
superclass initialization for seaside components is not done.
Then use a normal rendering method to display the ivar in the browser
renderContentOn: html
html orderedList list: tasks
If I understand you correctly you want to know how you acces the
Seaside generated code for a WAComponent subclass also in a workspace.
This is easy:
|component|
component := PrintHtml new. "your seaside component"
WARenderCanvas builder
render: [ :html | html render: component ]
which should return the generated HTML:
'<ol><li>read</li><li>before</li><li>you</li><li>try</li></ol>' now.
That is one way. The preferred way for Seasiders is to directly look at
the generated HTML code in the webbrowser. Just go to your app:
http://localhost:8080/killerappDown at the bottom you will find the seaside development toolbar (only visible
when developing) and then click on "Halo". Now Seaside renders a rectangle
around each component and you can click on "Source" to Switch to the source
of a component. Also try the other buttons there.
For sure you should read one of the introduction stuff on Seaside, I would
recommend the online Seaside book:
http://book.seaside.st/bookBye
T.