我是spring的新手,我试图使用Annotations使用spring MVC开发基本的Java项目,我试图使用@RequestAttribute在控制器中创建我的Entity类(Information.java)的对象,并将其发送给查看,我的代码如下
我的控制器类
package org.practice.spring;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView
@Controller()
public class HelloController
{
@RequestMapping("/hello")
public ModelAndView helloWorld(@RequestAttribute 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;
}
}
我的实体类
package org.practice.spring;
public class Information {
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
private String lastName;
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
Index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>Hello,Please Enter Name</h3>
<form:form action="hello" modelAttribute="info">
First Name:<form:input path="firstName"/><br>
Last Name:<form:input path="lastName"/><br>
<input type="submit" value="Submit">
</form:form>
</body>
</html>
hello.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
Hello World
<h3>Hello ${firstName} ${lastName}</h3>
</body>
</html>
Tomcat正在给我这个
org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver logException 警告:已解决[org.springframework.web.bind.ServletRequestBindingException:缺少信息类型为Information的请求属性'userInfo'
当我运行应用程序浏览器时,会给我
HTTP状态400 –错误的请求类型状态报告
信息类型为“消息丢失”的请求属性“ userInfo”
说明由于以下原因,服务器无法或不会处理请求: 被视为客户错误的内容(例如,格式错误 请求语法,无效的请求消息框架或欺骗性请求 路由)。
到目前为止,我的代码中没有语法错误,但是我的代码无法正常工作,我在这里停留了将近2天,做了很多谷歌搜索,但没有运气,任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试以下方法:@RequestAttribute(name =“ info”)。