类似地,我们可以使用ModelMap存储Map对象。以下是一个示例:
代码语言:javascript复制@Controller
@RequestMapping("/example")
public class ExampleController {
@GetMapping("/modelmap")
public String exampleWithModelMap(ModelMap model) {
model.addAttribute("message", "Hello from ModelMap!");
return "example";
}
}
在上面的代码示例中,我们定义了一个ExampleController
,并将@RequestMapping
注解用于类级别,以指定所有映射请求的共同前缀。在方法级别上,我们使用了@GetMapping
注解来指定处理GET
请求的exampleWithModelMap
方法,并且将一个ModelMap
参数添加到该方法的参数列表中。
在方法体内部,我们使用了model
对象的addAttribute
方法,来向该对象中添加一个名为message
,值为Hello from ModelMap!
的属性。这个属性会在执行完该方法后,传递给视图层。最后,我们返回了一个视图名为example
的字符串。
这个示例中的example
视图会使用JSP
技术来展示消息。下面是示例视图的代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Example Page</title>
</head>
<body>
<h1>${message}</h1>
</body>
</html>
这个视图将在页面上显示一个标题和一个文本信息,该信息来自于我们在ExampleController
中添加到ModelMap
对象中的属性。通过在<h1>
标签内部使用${message}
表达式,我们能够动态地展示该属性的值。
当我们访问/example/modelmap
路径时,ExampleController
中的exampleWithModelMap
方法将会被调用。该方法会向ModelMap
对象中添加一个message
属性,并将视图名设置为example
。ModelMap
对象中的所有属性将会自动传递给该视图。在该视图中,我们使用了${message}
表达式来动态地展示message
属性的值。这样,我们就成功地向request域对象共享了一个数据。