Session 为什么';在升降机mvc v2.3中重定向后显示TS通知

Session 为什么';在升降机mvc v2.3中重定向后显示TS通知,session,redirect,lift,Session,Redirect,Lift,请求时: 案例“页面”::AsInt(id)::Nil=>{ 注意(“你好,世界!”) S.重定向至(“/索引”) } 重定向到: 案例“索引”::Nil=>{ //将id为“time”的元素的内容替换为日期 “#时间*”#>DependencyFactory.inject[Date].map(35;.toString) } 然而,“你好,世界!”并没有出现。如果我评论重定向到,它将显示在页面上 有人能告诉我为什么会话没有持续通过重定向吗?我想这是因为s.notice()将消息放在请求范围内,而

请求时:

案例“页面”::AsInt(id)::Nil=>{ 注意(“你好,世界!”) S.重定向至(“/索引”) }

重定向到:

案例“索引”::Nil=>{ //将id为“time”的元素的内容替换为日期 “#时间*”#>DependencyFactory.inject[Date].map(35;.toString) }

然而,“你好,世界!”并没有出现。如果我评论重定向到,它将显示在页面上

有人能告诉我为什么会话没有持续通过重定向吗?

我想这是因为s.notice()将消息放在请求范围内,而在重定向(创建新请求)后消息不可用

请参阅本书中的以下引用:

net.liftweb.http.S
对象表示当前请求的状态

您发送的消息由
S
对象中的
RequestVar
保存

但是:

您还可以发送提升消息(通知、警告和错误),以 将在重定向页面中呈现,以及在重定向时设置的cookie。类似地,还有一个重载版本的
S.redirectTo
,允许您指定处理重定向时要执行的函数

因此,我认为您可以使用以下版本的redirectTo方法来实现此目的:

def重定向到[T](其中:字符串,func:()⇒ 单位:T

并在注册函数(第二个参数)内进行S.notice调用

致以最良好的祝愿, 弗拉基米尔试试这个

S.redirectTo("/index", () => S.notice("Hello World!"))