Обслуживание динамических веб-страниц с использованием Hunchentoot / html-template / Lisp - PullRequest
0 голосов
/ 28 ноября 2011

Следующий код с использованием Hunchentoot и html-template позволял мне обслуживать динамические веб-страницы вплоть до недавнего времени, когда я обновил Hunchentoot до последней версии.Может кто-нибудь предложить, где я ошибся с кодом ниже?Я предполагаю, что проблема в определении макроса?

(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))))

1 Ответ

0 голосов
/ 30 ноября 2011

У меня также были некоторые проблемы с Hunchentoot после обновления до версии 1.2.0.Если вы создаете экземпляр объекта класса Acceptor, как и я, вам может потребоваться изменить его, чтобы использовать вместо него класс easy-acceptor.

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

Затем вы можете продолжать использовать create-prefix-dispatcher, как и раньше.

...