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 を用いた別の回答例

後者は WATask のサブクラスとして作ったクラスの #go を再定義する。



Seaside はぜんぜんわかっていないので、“それ違うよ!”的ツッコミよろしくお願いします。