小编Man*_*arK的帖子

将通知消息设置为请求属性,该属性应在 sendRedirect 之后显示

我创建了两组 servlet:视图和控制器/处理程序

  • Views:执行简单的读取并将数据转发到JSP
  • 控制器:执行数据库更新或插入并向JSP或视图类型 servlet 发送通知

这里的通知是给用户的状态消息。示例:“您已成功更新等等……”

如果我requestDispatcher.forward()在控制器中使用并且用户通过确认重新发送来刷新页面(在控制器将控制权传递给 view/jsp 之后),则有可能执行重复的操作

如果我使用,response.sendRedirect()如果不在会话中设置这些通知,我似乎无法发送任何通知

有没有好的设计实践可以提供帮助?任何处理此特定场景的 MVC for java w/o 框架的良好链接将不胜感激。

我没有使用 Spring 或 Struts - 只是普通的旧 HTTPServlet

示例 - 控制器:

public XServlet extends HttpServlet{
     public void processRequest(request, response) throws ...{ 
         //Do some stuff here
         if(success){
             setUserMessage("Hooray ur profile pic is uploaded!");
         } else {
             setUserMessage("Oh no! We couldn't upload that file its too biG!");
         }

         //Send the notification
         request.setAttribute("status", getUserMessage());
         request.getRequestDispatcher("editProfile.jsp").forward(request, response);
    }
} …
Run Code Online (Sandbox Code Playgroud)

redirect jsp message servlets

4
推荐指数
1
解决办法
2560
查看次数

标签 统计

jsp ×1

message ×1

redirect ×1

servlets ×1