Arc チャレンジがらみで Seaside をいじる
umejava さんの SeasideJOne を使う。
Seaside 2.8 ベースの「SeasideJOne(2008/2/23) + Seasideチュートリアル in OSC 2008 Tokyo/Spring」をダウンロードして展開。
OS X では mac_seaside.command をダブルクリックして Squeak 環境を起動。
起動後、
KomSeasideJ startOn: 9090
の do it(cmd + d) によりサーバーを起動すると、http://localhost:9090/seaside/ ですでに(デフォルトで)登録済みのアプリケーションへのアクセスが可能になる。
Squeak 環境に戻り、コンポーネント Said および ClickHere を WAComponent のサブクラスとして作成。それぞれの #renderContentOn: を次のように再定義する。
Said >> renderContentOn: html html form: [ html textInput callback: [:value | self call: ClickHere new. self inform: 'you said: ', value]. html submitButton]
ClickHere >> renderContentOn: html html anchor callback: [self answer]; with: 'click here'
サーバーにアプリケーション「said」として登録するには、次式を do it(cmd + d)。
Said registerAsApplication: 'said'
以降、http://localhost:9090/seaside/said で呼び出し、動作させることができる。
Seaside を用いた別の回答例
- Arc Forum | Nice idea, but it doesn't work. It should be something like this: renderConte...
- Lukas Renggli: We take the Arc Challenge
後者は WATask のサブクラスとして作ったクラスの #go を再定義する。
Seaside はぜんぜんわかっていないので、“それ違うよ!”的ツッコミよろしくお願いします。