[Web4r-devel-ja] ご質問があります。

Tomo Matsumoto tomoyuki28jp at gmail.com
Sat Aug 15 05:44:31 UTC 2009


青山さん

こんにちは。
web4r開発者の松本です。

記念すべき日本語ML初投稿ですね :)
web4rを触ってくれてありがとうございます。

> defpageでトップページ "/" を定義したいのですが、
> どのように実現すればいいのでしょうか?
> (defpage "/" () ... )とやっても "//" でのアクセスになります。

手元の環境(Ubuntu 9.04 32bit + SBCL 1.0.18 + web4r 0.2.8)だと
下記のコードどちらでも、"http://localhost:8080/"にアクセスすると
定義したページが見られるのですが、動作しないでしょうか。もし動作
しないようであれば、ご利用のOSとLisp処理系を教えて頂けますか。

(defpage / ()   [p "default1"])
(defpage "/" () [p "default2"])

> [div :id "main_parent"
>  [div :id "main"]]
>
> となっているテンプレートがあって
>
> (with-template (:default)
>  (replace "#main"
>           [div :id "a"]
>           [div :id "b"]
>           [div :id "c"]))
>
> とはかけないのでしょうか?

確かにこう書けるべきですね。
ご指摘ありがとうございます。

先程、修正を行ったsml v0.1.6をリリースしましたので、
そちらをご利用頂けましたら、このように記述すること
が出来ます。

githubからダウンロードして頂くか、asdf-installでも
smlのv0.1.6がインストールされるようにclikiを編集
しておきました。

github: http://github.com/tomoyuki28jp/sml/downloads
cliki:  http://www.cliki.net/sml

ちなみにsml v0.1.5でもprognを利用すればこのようにも
記述可能です。
(with-template (:template1)
 (replace "#main"
          (progn
            [div :id "a"]
            [div :id "b"]
            [div :id "c"])))

また何か不明点あればお気軽にご連絡下さい。

松本

2009/8/15 青山新 <smihica at gmail.com>:
> こんにちは、青山(nagayoru)というものです。
> Lispは初心者ですが、どうぞよろしくお願いいたします。
>
> 安定版(http://github.com/tomoyuki28jp/web4r/tarball/v0.2.8)を使って、Webページを作ってみています。
>
> 二つご質問があります。
>
> defpageでトップページ "/" を定義したいのですが、どのように実現すればいいのでしょうか?
> (defpage "/" () ... )とやっても "//" でのアクセスになります。
>
> 因みに、
> (defpage top-page () ...)
> (push (hunchentoot:create-prefix-dispatcher "/" #'(lambda ()
> (web4r:page "top-page"))) hunchentoot:*dispatch-table*)
> とやればできましたが、このような方法が正しいのでしょうか?
>
> もうひとつ質問があります。
> たとえば
>
> [div :id "main_parent"
>  [div :id "main"]]
>
> となっているテンプレートがあって
>
> (with-template (:default)
>  (replace "#main"
>           [div :id "a"]
>           [div :id "b"]
>           [div :id "c"]))
>
> とはかけないのでしょうか?
> (つまりノードリストをそのまま評価できる方法は無いのでしょうか?)
>
> (with-template (:default)
>  (remove "#main")
>  (append "#main-parent" [div :id "a"])
>  (append "#main-parent" [div :id "b"])
>  (append "#main-parent" [div :id "c"]))
>
> このようにやるほか無いのでしょうか?
>
> 以上つまらぬことですが教えていただけると幸いです。
> よろしくお願いいたします。
>
> _______________________________________________
> Web4r-devel-ja mailing list
> Web4r-devel-ja at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/web4r-devel-ja
>




More information about the web4r-devel-ja mailing list