Scheme 异常:当前延续标记:延续中没有相应提示:#<;继续提示标记:web>;
为什么在此程序中(重定向/获取)出现异常Scheme 异常:当前延续标记:延续中没有相应提示:#<;继续提示标记:web>;,scheme,racket,Scheme,Racket,为什么在此程序中(重定向/获取)出现异常 #lang web-server (require web-server/formlets web-server/page) (struct app (nm) #:mutable) (define (start req) (render-main-page req)) 此函数将被大多数页面使用,并通过调用每个给定的页面生成器函数生成comlete page xexpr,每个页面生成器函数都可能嵌入其URL (define (render-page em
#lang web-server
(require web-server/formlets web-server/page) (struct app (nm) #:mutable)
(define (start req) (render-main-page req))
此函数将被大多数页面使用,并通过调用每个给定的页面生成器函数生成comlete page xexpr,每个页面生成器函数都可能嵌入其URL
(define (render-page embed/url a-title blocks)
(response/xexpr `(html (head (title ,a-title)
(body ,@(map (lambda (block) (block embed/url)) blocks))))))
这是第一页生成器函数的一部分
(define (render-action-panel embed/url action)
`(a ([href ,(embed/url action)]) "New"))
这是第一页
(define/page (render-main-page)
(local [(define (new-handler req) (render-app-page req (app "new value")))
(define (panel-block embed/url) (render-action-panel embed/url new-handler))]
(render-page embed/url "Title" (list panel-block))))
这是第二页生成器函数(表示表单)
第二种形式,,
尝试执行post重定向获取时,保存处理程序引发异常
(define/page (render-app-page an-app)
(local [(define (save-handler req)
(render-app-page
(redirect/get)
(set-app-nm! an-app (formlet-process (add-app-formlet an-app) req))))
(define (form-block embed/url)
(render-app-form embed/url an-app save-handler ))
]
(render-page embed/url "Title - form: " (list form-block))))
(require web-server/servlet-env)
(serve/servlet start)
您使用的是哪个
redirect/get
来自web服务器/lang/servlet
(应与#lang web服务器
)的一个与来自web服务器/servlet
(应与#lang racket
(和朋友)的一个不同)
此错误消息表示您正在使用web服务器/servlet
中的错误消息
FWIW,web服务器/page
不能与#lang web服务器
一起使用,因为它只是web服务器/servlet的send/suspend/dispatch
上的一个简单宏(需要web服务器/http web服务器/formlets web服务器/page web服务器/servlet)
(define/page (render-app-page an-app)
(local [(define (save-handler req)
(render-app-page
(redirect/get)
(set-app-nm! an-app (formlet-process (add-app-formlet an-app) req))))
(define (form-block embed/url)
(render-app-form embed/url an-app save-handler ))
]
(render-page embed/url "Title - form: " (list form-block))))
(require web-server/servlet-env)
(serve/servlet start)