Ich bin mir nicht sicher, ob dies ein Problem mit meiner Verwendung von cl-who
(speziell with-html-output-to-string
und) oder ein Problem mit meinem Verständnis von Common Lisp (wie dies ist mein erstes Projekt mit Lisp).Funktion mit Cl-Who: mit-HTML-Ausgabe ignorieren Parameter
habe ich eine Funktion Formularfelder zu erstellen:
(defun form-field (type name label)
(cl-who:with-html-output (*standard-output* nil)
(:div :class "field"
(:label :for name label)
(:input :type type :name name))))
Bei Verwendung dieser Funktion, das heißt: (form-field "text" "username" "Username")
der Parameter label
scheint ignoriert zu werden ... die HTML-Ausgabe ist:
<div class="field"><label for="username"></label>
<input type="text" name="username"/></div>
anstelle der erwarteten Ausgabe:
<div class="field"><label for="username">Username</label>
<input type="text" name="username"/></div>
Wenn ich das modifiziere eine print-Anweisung Funktion und fügen:
(defun form-field (type name label)
(cl-who:with-html-output (*standard-output* nil)
(print label)
(:div :class "field"
(:label :for name label)
(:input :type type :name name))))
Der „Benutzername“ string erfolgreich ausgegeben wird (aber immer noch in der HTML ignoriert) ... irgendwelche Ideen, was könnte die Ursache sein?
Denken Sie daran, ich rufe diese Funktion innerhalb einer cl-who:with-html-output-to-string
für die Verwendung mit Hunchentoot.