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)