【问题标题】:Spring MVC Web Application not working as ExpectedSpring MVC Web 应用程序未按预期工作
【发布时间】:2021-08-24 19:52:37
【问题描述】:

我正在尝试使用具有以下功能的 Spring Mvc 构建一个简单的 Web 应用程序:

  • 带有供用户输入姓名和年龄并提交的表单的页面

  • 用户应该被重定向到表单提交的新页面,并显示如下消息

你好“名字”,你是“年龄”岁。

当姓名或年龄字段为空且用户点击提交时,我想在同一表单网页上显示错误消息。我已经为此编写了如下代码,但它似乎无法正常工作。我是否让我的概念感到困惑?如果我是,那么有人可以解决这个问题并让我更好地理解。谢谢!

我的控制器代码:

@Controller

public class form {

    @RequestMapping(value = "/form", method = RequestMethod.GET)
    public String getForm(ModelMap model) {
        return "form";
    }
    @RequestMapping(value = "/form",method = RequestMethod.POST)
    public String postForm(ModelMap model, @RequestParam String name, @RequestParam String age){
            if(name==null || age==null){
                model.put("error","Please Enter Name and Age Fields");
                return "form";
            }
            else if(name==null && age!=null){
                model.put("error","Name field is Empty.");
                return "form";
            }
            else if(age==null && name!=null){
                model.put("error","Age field is Empty.");
                return "form";
            }
            else {
                model.put("name", name);
                model.put("age", age);
                return "index";
            }
    }
}

My index.html file

My form.html file

【问题讨论】:

  • 实际发生了什么,对于什么输入?也就是说,错误案例是否返回到输入页面,但没有文本?成功案例是否进入了正确的页面?您是否添加了日志记录以查看正在采用的路径?
  • 不,错误情况不会返回到输入页面,而是当我不输入姓名和年龄时,它只会给我一个带有输出的新页面 - 你好,你的年龄是(基本上没有名称和年龄的所需输出)。是的,成功案例会转到正确的页面。我真的不知道什么是日志记录,因为我是一个初学者,但是我上面包含的代码就是我写的全部。

标签: java html spring spring-mvc web-applications


【解决方案1】:

我认为您的直接问题是空字段作为空字符串提交,而不是null。你可以检查空字符串,或者如果你喜欢做一些事情like this to have Spring convert empty strings to nulls

【讨论】:

  • 非常感谢!这帮助我解决了这个问题。但我改用 .isEmpty() 方法。但是谢谢你给我这个想法
猜你喜欢
  • 1970-01-01
  • 2018-03-21
  • 2019-10-20
  • 2023-04-08
  • 2017-06-03
  • 2015-04-01
  • 2018-05-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多