Следующий код с использованием 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 ответ
У меня также были некоторые проблемы с Hunchentoot после обновления до версии 1.2.0. Если вы создаете экземпляр объекта класса acceptor, как я, вам может потребоваться изменить его, чтобы вместо этого использовать класс easy-acceptor.
(push (make-instance 'easy-acceptor) *acceptors*)
Затем вы можете продолжать использовать create-prefix-dispatcher
, как и раньше.
Похожие вопросы
Новые вопросы
lisp
Lisp - это семейство языков программирования общего назначения, на которые влияет лямбда-исчисление и которые могут манипулировать исходным кодом как структурой данных.