v(jsp)向从(controller)传递参数时的两种传参方式是
时间: 2024-12-12 11:22:21 浏览: 8
在Spring MVC的Controller层向JSP页面传递参数时,主要有两种常见的传参方式:
1. **ModelAndView**:这是最传统的方式,Controller在处理完业务逻辑后,创建一个`ModelAndView`对象,这个对象包含了模型数据(Map或自定义对象)和视图名称。模型数据会被注入到request作用域中,然后在JSP页面上通过 `${}`表达式获取。示例代码如下:
```java
@RequestMapping("/example")
public ModelAndView handleRequest(ModelAndView modelAndView) {
String data = "Hello from Controller";
modelAndView.addObject("message", data);
modelAndView.setViewName("jspPage"); // 视图名称
return modelAndView;
}
```
2. **直接绑定**:Spring 3及更高版本引入了`@ModelAttribute`注解,可以直接把Controller方法的参数绑定到表单元素,或者直接将参数注入到JSP的某个变量中。这种方式更简洁,特别是处理表单提交时。例如:
```java
@RequestMapping(value = "/example", method = RequestMethod.GET)
public String handleRequestParam(@ModelAttribute("formData") FormData formData) {
String message = formData.getMessage();
return "jspPage"; // 直接返回视图名
}
```
在JSP页面上,你可以通过`<form>`标签的`action`属性引用控制器方法,或者通过EL表达式`${data}`来获取参数。
阅读全文