`
meikanbao
  • 浏览: 14978 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

用Lisp写网站程序的备忘

阅读更多

  1。 使用 hunchentoot 作为网站框架,它的功能基本上类似于Python的web.py 
  2。 模板使用 html-template  
  3。 本实例暂不涉及数据库操作
  4。 主要的麻烦是中文的设置
  这里给出的是一个最小的可用程序,可以正确处理中文模板文件与中文变量。 ; 一些辅助函数 (require :asdf) (defun loadlib (mod) (asdf:oos 'asdf:load-op mod)) (defun reload () (load "web.lisp")) (defun restart-web () (progn (reload) (start-web))) ; load 需要的库 (loadlib :html-template) (loadlib :hunchentoot) ; 设置 hunchentoot 编码 (defvar *utf-8* (flex:make-external-format :utf-8 :eol-style :lf)) (setq hunchentoot:*hunchentoot-default-external-format* *utf-8*) ; 设置url handler 转发表 (push (hunchentoot:create-prefix-dispatcher "/hello" 'hello) hunchentoot:*dispatch-table*) ; 页面控制器函数 (defun hello () (setf (hunchentoot:content-type*) "text/html; charset=utf-8") (with-output-to-string (stream) (html-template:fill-and-print-template #p"index.tmpl" (list :name "Lisp程序员") :stream stream))) ; 启动服务器 (defun start-web (&optional (port 4444)) (hunchentoot:start (make-instance 'hunchentoot:acceptor :port port)))  模板 index.tmpl     Test Lisp Web   Lisp web开发实例 hi,    
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics