Spring MVC 中 POST 方法后重定向

2024-01-06

我的问题是我想重定向到索引页,而不必查看 URL 中附加的属性。

我发现解决方案是addFlashAttributes,它不会在 URL 中附加属性,但我看不到此方法保存的任何消息。

Code:

控制器

@RequestMapping(value="/login",method = RequestMethod.POST)  
public ModelAndView loginResult(HttpServletRequest req,
                                HttpServletResponse res,
                                RedirectAttributes redir) {
    if (uname.equals(inf.getUsername()) & &pwd.equals(inf.getPassword()) && dept.equals(inf.getDept()))
    {
        req.getSession().setAttribute("uname",inf.getName());
        return new ModelAndView("employeeLoginResult", "message", message1); 
    }
    else if (uname.equals(inf2.getUsername()) && pwd.equals(inf2.getPassword()) && dept.equals(inf2.getDept()))
    {
        req.getSession().setAttribute("uname", inf2.getName());
        return new ModelAndView("adminLoginResult", "message", message2); 
    }
    else
    {
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("redirect:/index.jsp");
        redir.addFlashAttribute("message","Sorry Username Password Error");
        return modelAndView;
    }
}

现在我已经硬编码了验证值,并且将来会将验证与数据库的 DAO 层集成。这addFlashAttribute我不需要将消息附加到 URL,但我也想在索引页上显示消息。

索引页

<head><tile>index</title>
</head>
<body>
    <b><span class="heading">LOGIN USER</span></b>
    <div class="container">
        <form action="login.html" method="Post">
            <div class="form_style">
            <input type="text" name="username" placeholder="Enter Username"/>
            <input type="password" name="pwd" placeholder="Enter password"/>
            <select name="dept">
                <option>IT</option>
                <option>Admin</option>
                <option>HR</option>
                <option>Marketing</option>
            </select>
            <input type="Submit" value="submit">
            <p>${message}</p>
            </div>
        </form>
    </div>
</body>

我究竟做错了什么?谁能解释一下吗?

Why is ${message}不显示属性?

任何帮助表示赞赏。谢谢你同样的。


您可以按如下方式更改控制器并使用相同的index.jsp 文件。

控制器

@RequestMapping(value="/login",method = RequestMethod.POST)  
 public ModelAndView loginResult(HttpServletRequest req,HttpServletResponse res, Model model){

    String message = "";
    String response = "";

     if(uname.equals(inf.getUsername())&&pwd.equals(inf.getPassword())&&dept.equals(inf.getDept())) {
                    req.getSession().setAttribute("uname",inf.getName());
        message = message1;
        response = "employeeLoginResult";
            }
         else if(uname.equals(inf2.getUsername())&&pwd.equals(inf2.getPassword())&&dept.equals(inf2.getDept())) {
                 req.getSession().setAttribute("uname",inf2.getName());
        message = message2;
        response = "adminLoginResult"; 
            }
            else{
        message = "Sorry Username Password Error";
        response = "index";
            }
    model.addAttribute("message", message);
    return response;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC 中 POST 方法后重定向 的相关文章

  • 如何从另一个xml文件动态更新xml文件?

    我想从另一个 xml 文件更新 xml 文件 我使用了一个 xml 文件 如下所示 one xml
  • 使用 Spring 时实例化对象,用于测试与生产

    使用 Spring 时 应该使用 Spring 配置 xml 来实例化生产对象 并在测试时直接实例化对象 这样的理解是否正确 Eg MyMain java package org world hello import org springf
  • Java 泛型/类型调度问题

    考虑以下程序 import java util List import java util ArrayList public class TypeTest public static class TypeTestA extends Type
  • Java:从元素创建 DOM 元素,而不是文档

    如您所知 在 Java 中创建 Dom 元素的正确方法是执行以下操作 import org w3c dom Document import org w3c dom Element Document d Element e e d creat
  • Android - 除了普通 SSL 证书之外还验证自签名证书

    我有一个通过 SSL 调用 Web 服务的 Android 应用程序 在生产中 我们将拥有由受信任的 CA 签名的普通 SSL 证书 但是 我们需要能够支持自签名证书 由我们自己的 CA 签名 我已经成功实施了接受自签名证书的建议解决方案
  • Spring Stomp over Websocket:流式传输大文件

    我的SockJs客户端在网页中 发送帧大小为16K的消息 消息大小限制决定了我可以传输的文件的最大大小 以下是我在文档中找到的内容 Configure the maximum size for an incoming sub protoco
  • 如何将 XMP XML 块序列化为现有的 JPEG 图像?

    我有许多 JPEG 图像 其中包含损坏的 XMP XML 块 我可以轻松修复这些块 但我不确定如何将 固定 数据写回图像文件 我目前正在使用 JAVA 但我愿意接受任何能让这项任务变得容易的事情 这是目标关于 XMP XML 的另一个问题
  • 所有junit测试后的清理

    在我的项目中 我必须在所有测试之前进行一些存储库设置 这是使用一些棘手的静态规则来完成的 然而 在所有测试之后我不知道如何进行清理 我不想保留一些神奇的静态数字来引用所有测试方法的数量 我应该一直维护它 最受赞赏的方法是添加一些侦听器 该侦
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • 如何在 Spring MongoDB 聚合上投影 DBRef?

    我在 MongoDB shell 中完成了以下聚合 以获取每个用户每种类型的警报数量 db getCollection alerts aggregate unwind son group id son son level level cou
  • 在 Spring Context 加载实际的 Spring Bean 之前是否模拟了模拟 bean (@MockBean)?

    让我们以下面的例子为例 Autowired MockBean private Foo foobar Spring Context 是否加载类Foo首先 然后应用模拟 或者是 Mockbean以某种方式被检测到 Spring 创建并应用模拟而
  • Java:VM 如何在 32 位处理器上处理 64 位“long”

    JVM 如何在 32 位处理器上处理 64 位的原始 long 在多核 32 位机器上可以并行利用多个核心吗 64 位操作在 32 位机器上慢了多少 它可能使用多个核心来运行不同的线程 但不会并行使用它们进行 64 位计算 64 位长基本上
  • 尝试在没有 GatewayIntent 的情况下访问消息内容

    我希望每当我写一条打招呼的消息时 机器人都会在控制台中响应一条消息 但它只是给我一个错误 JDA MainWS ReadThread WARN JDA Attempting to access message content without
  • jmap - 组织和堆操作会给 jvm 带来开销吗?

    正如标题所述 需要多少开销jmap histo and jmap heap分别带到jvm 如果一个内存敏感的 Java 进程处于OutOfMemory 例如 大约 96 的堆已满 并且无法通过 full gc 清除 其中一项操作是否有可能将
  • Apache Commons CLI:替代已弃用的 OptionBuilder?

    IntelliJ 显示此示例代码中不推荐使用 OptionBuilderhttp commons apache org proper commons cli usage html http commons apache org proper
  • 如何在keycloak中动态编辑standalone.xml文件

    我正在尝试通过 docker 编辑standalone xml 并尝试添加 但 keycloak 正在使用它standalone xml 但我可以看到standalone xml 文件中的更改 我需要在standalone xml 文件中添
  • struts 教程或示例

    我正在尝试在 Struts 中制作一个登录页面 这个想法是验证用户是否存在等 然后如果有错误 则返回到登录页面 错误显示为红色 典型的登录或任何表单页面验证 我想知道是否有人知道 Struts 中的错误管理教程 我正在专门寻找有关的教程 或
  • Java 编码风格、局部变量与重复方法调用

    我更喜欢使用局部变量而不是多次调用同一方法 I prefer this Vehicle vehicle person getVehicle if vehicle instanceof Car Car car Car vehicle car
  • Java中有类似分支/跳转表的东西吗?

    Java有类似分支表或跳转表的东西吗 分支表或跳转表是 根据维基百科 http en wikipedia org wiki Branch table 用于描述使用分支指令表将程序控制 分支 转移到程序的另一部分 或可能已动态加载的不同程序
  • Java 推断泛型类型

    我正在寻找类似的推断捕获泛型类型的概念 类似于以下方法片段 但不是捕获泛型类型的类 public

随机推荐

  • 如何将两个过程组合在一起来填充一个表,而不是两个过程中的每一个过程填充它自己的表?

    我使用 Sequel Pro 创建了两个表 每个表都在 MySQL 中填充了不同的过程 虽然每个表在运行相应的过程后都包含正确的信息 但我认为如果我更多地合并一些表 我的数据将不再那么分散 因此 我想做的是将两个表中的数据合并为一个 下面是
  • SQLite CURRENT_TIMESTAMP 总是 1970-01-01

    我有以下定义一个表 CREATE TABLE players playerid INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL name VARCHAR 20 NOT NULL UNIQUE added
  • 从chrome发送udp数据包

    网上查资料 如何将udp发送到udp node js服务器 https stackoverflow com questions 7451522 how to send udp to udp node js server JavaScript
  • 如何在 Edmx Designer 中对多对多关系启用级联删除

    我使用 VS2012 和实体设计器来生成数据库和模型 我有一个非常基本的场景 即 Table1 到 Table1 和 2JoinTable 到 Table2 比如学生 班级 学生班级 您可以在多个班级中拥有多个学生 我想要级联删除 因此 如
  • wix - 安装前删除旧程序文件夹

    我需要安装程序在安装程序开始复制新文件之前删除旧的安装目录 如果存在 该文件夹包含程序使用过程中生成的一些文件和子文件夹 它们不包含在安装程序中 因此 我创建了自定义操作来执行此操作 所以 一些代码 首先 自定义操作代码 没什么特别的 Cu
  • Java 运行时环境检测到致命错误:SIGSEGV (0xb) at pc=0x00002b2f7e9b2744, pid=28778, tid=1138739520

    我在执行程序时收到以下错误 而这种情况并不总是发生 代码中包含一些复杂的计算 数据量很大 有人可以帮助识别错误吗 A fatal error has been detected by the Java Runtime Environment
  • fmod 不正确吗? [复制]

    这个问题在这里已经有答案了 给定以下双打 是否fmod返回正确的值 double x 090 double y 003 double r fmod x y r 0 0029999999999999949 为什么r不 0 因为 像大多数十进制
  • 如何在 django 管理站点上授予用户权限

    我正在尝试授予用户对管理站点的有限访问权限 我以超级用户身份登录 并授予用户员工身份和模型权限 可以添加 可以更改 和 可以删除 问题是用户可以登录该网站 但看到以下消息 如果我给他超级用户身份 他可以编辑任何内容 但我想给他有限的访问权限
  • 如何安全地使用 UniqueEntity(在具有多个同时用户的网站上)

    聪明的人可以分享他们用来避免 Doctrine Symfony 中这种基本且常见的并发问题的设计模式吗 设想 每个用户必须有一个唯一的用户名 失败解决方案 Add a 独特的实体 https symfony com doc 3 1 refe
  • 在 Java 中以编程方式设置 Linux 环境变量

    我可以通过以下方式运行 Linux 命令RunTime班级 有没有办法以编程方式从 Java 设置 Linux 全局环境 我想通过 Java 模拟以下 Linux 命令语句 root machine tmp export TEST v2 我
  • linux + 验证文件是文本还是二进制

    如何在不打开文件的情况下验证文件是二进制文件还是文本文件 恐怕是薛定谔的猫 在不打开文件的情况下无法确定文件的内容 文件系统不存储与内容相关的元数据 如果不打开文件不是硬性要求 那么有许多解决方案可供您使用 Edit 许多评论和答案都建议f
  • Vue 关闭组件返回避免直接改变 prop

    我有一个想要在不同页面上使用的组件 嗯 在第一次切换之前它运行良好 它显示得像以前一样 但是当我单击 关闭 按钮时 它会关闭 但控制台输出 Vue warn 避免直接改变 prop 因为该值将是 每当父组件重新渲染时都会被覆盖 相反 使用
  • 用于分析进程中加载​​的本机 DLL 和程序集的内存占用的工具?

    根据任务管理器 我有一个进程持有 130MB 内存 根据任务管理器 只有 11MB 的活动 NET 对象dotTrace http www jetbrains com profiler 所以我想知道另外 120MB 发生了什么 我需要一个工
  • 在 R 中合并 2 个具有相同但不同 case 列的数据框

    我有两个数据框 但问题是合并 by 列在不同情况下具有值 sn1capx1e0001 与 SN1CAPX1E0001 authors lt data frame surname I c Tukey Venables Tierney Ripl
  • 理解大 O 表示法 - 破解编码面试示例 9

    我被这两个代码困住了 Code 1 int f int n if n lt 1 return 1 return f n 1 f n 1 Code 2 平衡二叉搜索树 int sum Node node if node null return
  • 太阳位置的 R 函数给出了意想不到的结果

    我想计算给定时间 纬度和经度的太阳的位置 我在这里找到了这个很棒的问题和答案 一天中给定时间 纬度和经度的太阳位置 https stackoverflow com questions 8708048 position of the sun
  • 正则表达式中的异或

    寻找一些正则表达式帮助 我想设计一个与字符串匹配的表达式 foo OR bar 但不是两者都 foo AND bar 如果我做类似的事情 foo bar 它将匹配 foobar 不是我正在寻找的 那么 如何才能仅在存在一个或另一个术语时才使
  • Excel4Node:如何下载Excel文件而不保存?

    使用 excel4node 我可以将文件写入硬盘 但我想将其作为下载返回 而不将文件保存在服务器上 我认为以下代码是必需的 但不确定如何使用它 wb writeToBuffer then function buffer console lo
  • 以编程方式将 IIS 应用程序池标识“用户”分配给组

    问题 当创建新的 IIS 应用程序池并将其设置为使用应用程序池标识来获取权限时 我不确定如何将这些标识添加到用户组 例如管理员或性能计数器用户 的背景 我目前正在编写一个 C NET 库 它使用 Microsoft Web Administ
  • Spring MVC 中 POST 方法后重定向

    我的问题是我想重定向到索引页 而不必查看 URL 中附加的属性 我发现解决方案是addFlashAttributes 它不会在 URL 中附加属性 但我看不到此方法保存的任何消息 Code 控制器 RequestMapping value