1

直到最近,当我将 Hunchentoot 升级到最新版本时,以下使用 Hunchentoot 和 html-template 的代码才允许我提供动态网页。有人可以建议我在下面的代码中哪里出错了吗?我认为问题出在宏定义中?

(defmacro define-url-fn ((name) &body body)
  `(progn
     (defun ,name ()
       ,@body)
     (push (create-prefix-dispatcher ,(format nil "/~(~a~).html" name) ',name) *dispatch-table*)))

(define-url-fn (sign-up)
  (with-output-to-string (stream)
    (let* ((values (list :username-error-msg *register-error*)))
      (fill-and-print-template #p"/ELEPHUND/INTERFACE/sign-up.tmpl" values :stream stream))))
4

1 回答 1

1

升级到 1.2.0 版后,我在使用 Hunchentoot 时也遇到了一些问题。如果您要实例化类接受器的对象,就像我一样,您可能需要将其更改为使用类easy-acceptor。

(push (make-instance 'easy-acceptor) *acceptors*)

然后你可以像以前一样继续使用create-prefix-dispatcher

于 2011-11-30T02:36:51.227 回答