Clojure Template Example
|
<%clojure
;
; Defer this page
;
(if (= (.. conversation getQuery (get "defer")) "true")
(if (.defer conversation)
(.stop conversation)))
;
; Cache this page
;
(.setDuration caching 5000)
;
; Calling Java
;
(print " This page was dynamically generated at " (System/currentTimeMillis) " ") ; ; An example of a function ; (defn print-adapter [adapter] (let [attributes (.getAttributes adapter)] %>
Engine: <%= (get attributes "name") %> version <%= (get attributes "version") %> Language used:<% (print-adapter (.. executable getContext getAdapter)) %>Available languages:<% (def adapters (.. executable getLanguageManager getAdapters)) (doseq [adapter adapters] (print-adapter adapter)) %> |
The "id" attribute in the URL query is:<%= (or (.. conversation getQuery (get "id")) "") %> A few tests:
<%
;
; Including a document
;
; This is identical to:
;
; (.include document "/triple/clojure/")
;
%>
<%& "/triple/clojure/" %>
<%
(doseq [i (range 10)]
%>
A multiple of three:
<%
(print-triple i)
%>
|