我尝试使用ring.util.anti-forgery将防伪标记插入到html表单中:
(html/defsnippet post-edit-form "templates/blog.html" [:.post-edit]
[]
[:form] (html/after (html/html-content (anti-forgery-field))))获取异常:
java.lang.IllegalArgumentException
Don't know how to create ISeq from: net.cgrand.enlive_html$html_content$fn__5571
RT.java:505 clojure.lang.RT.seqFrom
RT.java:486 clojure.lang.RT.seq
core.clj:133 clojure.core/seq
enlive_html.clj:227 net.cgrand.enlive-html/flatten-nodes-coll[fn]
enlive_html.clj:232 net.cgrand.enlive-html/flatten-nodes-coll[fn]
LazySeq.java:40 clojure.lang.LazySeq.sval
...我也尝试了一下:
(html/defsnippet post-edit-form "templates/blog.html" [:.post-edit]
[]
[:form] (html/after (html/html [:input {:id "__anti-forgery-token"
:name "__anti-forgery-token"
:type "hidden"
:value *anti-forgery-token*}])))不工作:(
(防伪字段)只生成具有一个“输入”的html字符串。但是我不能把它插入到表单中。
发布于 2014-10-21 16:15:50
成功了!
需要使用html-snippet而不是html-content:
(html/defsnippet post-edit-form "templates/blog.html" [:.post-edit]
[]
[:form] (html/append (html/html-snippet (anti-forgery-field))))https://stackoverflow.com/questions/26463969
复制相似问题