【问题标题】:Spring MVC Missing request attributeSpring MVC 缺少请求属性
【发布时间】:2019-08-05 18:56:07
【问题描述】:

所以我目前正在学习关于 Spring MVC 的 udemy 课程。在当前部分中,正在构建一个简单的表单来提交名字和姓氏。

Hey user, may i know your name?
<form:form action="hello" modelAttribute="info">
    First Name: <form:input path="firstName" />
    Last Name: <form:input path="lastName" />
    <input type="submit" value="Submit" />
</form:form>

输入通过信息类提交到 HelloController

@Controller
public class HelloController {

@RequestMapping("/hello")
public ModelAndView helloWorld(@RequestAttribute("info") Information userInfo) {
    ModelAndView model = new ModelAndView("hello");

    model.addObject("firstName", userInfo.getFirstName());
    model.addObject("lastName", userInfo.getLastName());

    return model;
}

@RequestMapping("/")
public ModelAndView homepage() {
    ModelAndView model = new ModelAndView("index", "info", new Information());

    return model;
}

信息类:

public class Information {
private String firstName;
private String lastName;

public String getFirstName() {
    return firstName;
}
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
public String getLastName() {
    return lastName;
}
public void setLastName(String lastName) {
    this.lastName = lastName;
}   
}

接下来应该将信息类转发到视图文件hello.jsp

<body>
<h2> Hello ${firstName} ${lastName} </h2><br/>

</body>

我认为这实际上很简单,但是在提交表单后,我得到了异常“缺少信息类型的请求属性'信息'”。我根据 udemy 讲师的代码仔细检查了我的代码,但找不到任何错误。有人可以帮忙吗?

在旁注中,我不知道它是否与此错误有关,但在将@Controller 添加到类后,eclipse 中的自动完成功能将停止为该类工作。删除注释后,自动完成功能再次开始工作。

【问题讨论】:

  • 这不是@RequestAttribute,您应该使用@ModelAttribute

标签: java spring spring-mvc exception


【解决方案1】:

您使用了错误的注释。 @RequestAttribute 用于使用setAttribute 检索在HttpServletRequest 上设置的属性。但是,您希望将请求参数绑定到一个对象,为此您应该使用 @ModelAttribute 注释。

@RequestMapping("/hello")
public ModelAndView helloWorld(@ModelAttribute("info") Information userInfo) { ... }

更改注释将使其工作。

【讨论】:

    猜你喜欢
    • 2012-09-13
    • 1970-01-01
    • 1970-01-01
    • 2018-07-18
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多