Common lisp 用于动态参数量的Hunchentoot处理程序

Common lisp 用于动态参数量的Hunchentoot处理程序,common-lisp,hunchentoot,Common Lisp,Hunchentoot,我希望能够处理使用动态表单字段的表单 e、 g 我如何定义处理程序,因为&rest不被接受,并且不允许我访问显然需要进一步处理的变量名 (define-easy-handler (theaction :uri "/theaction") (&special-rest all-params) (log-message* :INFO "~a" all-params)) -> "(("firstinput" . "value") ("INPUT0" . "value") ("IN

我希望能够处理使用动态表单字段的表单

e、 g

我如何定义处理程序,因为
&rest
不被接受,并且不允许我访问显然需要进一步处理的变量名

(define-easy-handler (theaction :uri "/theaction") (&special-rest all-params)
   (log-message* :INFO "~a" all-params))

-> "(("firstinput" . "value") ("INPUT0" . "value") ("INPUT1" . "value") ...)"

一种可能是预先定义所有变量,例如100,但这似乎相当麻烦且不直观。

定义easy handler的lambda列表只不过是使用较低级别调用的快捷方式。通过使用诸如
get-PARAMETER
POST-PARAMETER
之类的函数,您可以更广泛地访问参数。您可以在处理程序体中使用(或)获得所有参数的列表。

定义轻松处理程序的lambda列表只是使用较低级别调用的快捷方式。通过使用诸如
get-PARAMETER
POST-PARAMETER
之类的函数,您可以更广泛地访问参数。您可以在处理程序体中使用(或)获得所有参数的列表。

定义轻松处理程序的lambda列表只是使用较低级别调用的快捷方式。通过使用诸如
get-PARAMETER
POST-PARAMETER
之类的函数,您可以更广泛地访问参数。您可以在处理程序体中使用(或)获得所有参数的列表。

定义轻松处理程序的lambda列表只是使用较低级别调用的快捷方式。通过使用诸如
get-PARAMETER
POST-PARAMETER
之类的函数,您可以更广泛地访问参数。您可以通过在处理程序体中使用(或)来获得所有参数的列表。

我想知道
定义轻松处理程序
是否设计用于更简单的情况。也许您需要使用更一般的形式?我想知道
define easy handler
是否是为更简单的情况设计的。也许您需要使用更一般的形式?我想知道
define easy handler
是否是为更简单的情况设计的。也许您需要使用更一般的形式?我想知道
define easy handler
是否是为更简单的情况设计的。也许你需要用更一般的形式?
(define-easy-handler (theaction :uri "/theaction") (&special-rest all-params)
   (log-message* :INFO "~a" all-params))

-> "(("firstinput" . "value") ("INPUT0" . "value") ("INPUT1" . "value") ...)"