Я хочу создать шаблон с Enlive Clojure для «таблицы», такой как html-страница, которая должна иметь заголовок и строки. Я хочу заполнить эту «таблицу» данными, которые поступают с этой карты. Basicaly Я хочу заполнить заголовок клавишами и ячейками с vals с каждой из карт, которые поступают из ключа событий-данных.В clojure оживить, как создать шаблон для добавления значений и ключей с карты
(def dummy-content
{:title "Events Mashup"
:event-data [{ :event-name "event name 1"
:performer "performer 1"
:date "date 1"
:start-time "start time 1"
:end-time "end time 1"}
{:event-name "event name 2"
:performer "performer 2"
:date "date 2"
:start-time "start time 2"
:end-time "end time 2"}]})
Мои фрагменты кода и шаблон выглядеть следующим образом:
(defsnippet header-cell "index.html" [:.psdg-top-cell] [value] [:.psdg-top-cell]
(defsnippet value-cell "index.html" [:.psdg-right] [value] [:.psdg-right]
(deftemplate mshp "index.html" [content]
[:.psdg-top] (append (for [c (keys content)] (header-cell c)))
[:.psdg-right] (append (for [v (vals content)] (value-cell v))))
И index.html есть эти теги, которые rellevant для этого шаблона.
<div id="psdg-top">
<div class="psdg-top-cell" style="width:129px; text-align:left; padding- left:24px;">Summary</div>
<div class="psdg-top-cell">Website.com</div>
</div>
<div class="psdg-right">10 000</div>
Когда я называю шаблон я получаю эту ошибку:
=> (mshp (:event-data dummy-content))
ClassCastException clojure.lang.PersistentHashMap не может быть приведен к java.util.Map $ Входа clojure.lang.APersistentMap $ ValSeq.first (APersistentMap.java:183) Что я делаю неправильно?
он работает сейчас, когда я звоню он вроде этого (print (apply str (mshp (: event-data dummy-content)))), кажется, хорошо, за исключением того, что сначала дает мне только первую карту ... – Vesna
спасибо, что показал мне функцию имени. ll se now, что делать дальше ... – Vesna
Не знаю, почему это работает => (html/sniptest "