MVC 与请求处理 · 第 5 题,共 12 题
在 Extbase 中保存表单后要显示成功提示,需要做什么?
有 2 个正确答案。 简单
显示答案
答案
- A 在 Fluid 模板中输出 ViewHelper <f:flashMessages />
- B 在控制器中用 $this->addFlashMessage() 添加消息
解析
Flash 消息 是一次性的提示,重定向之后依然保留。在控制器中可以这样添加,例如 $this->addFlashMessage('Conference saved.', 'Success', ContextualFeedbackSeverity::OK),随后通常用 redirect('list') 进行重定向。默认情况下它们存储在 session 中,因此会在重定向后的目标页面上显示。模板中通过 <f:flashMessages /> 输出——没有这个 ViewHelper,访问者永远看不到消息。在动作中使用 echo 行不通,因为 Extbase 只通过返回的响应对象产生输出。