Session 为什么';在升降机mvc v2.3中重定向后显示TS通知
请求时: 案例“页面”::AsInt(id)::Nil=>{ 注意(“你好,世界!”) S.重定向至(“/索引”) } 重定向到: 案例“索引”::Nil=>{ //将id为“time”的元素的内容替换为日期 “#时间*”#>DependencyFactory.inject[Date].map(35;.toString) } 然而,“你好,世界!”并没有出现。如果我评论重定向到,它将显示在页面上 有人能告诉我为什么会话没有持续通过重定向吗?我想这是因为s.notice()将消息放在请求范围内,而在重定向(创建新请求)后消息不可用 请参阅本书中的以下引用: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()将消息放在请求范围内,而
net.liftweb.http.S
对象表示当前请求的状态
您发送的消息由S
对象中的RequestVar
保存
但是:
您还可以发送提升消息(通知、警告和错误),以
将在重定向页面中呈现,以及在重定向时设置的cookie。类似地,还有一个重载版本的S.redirectTo
,允许您指定处理重定向时要执行的函数
因此,我认为您可以使用以下版本的redirectTo方法来实现此目的:
def重定向到[T](其中:字符串,func:()⇒ 单位:T
并在注册函数(第二个参数)内进行S.notice调用
致以最良好的祝愿,
弗拉基米尔试试这个
S.redirectTo("/index", () => S.notice("Hello World!"))