0 0

Spring MVC 关于 @RequestMapping 方法入参与 Model Attribute 绑定关系的疑问0

在一个 @RequestMapping 方法中,如果一个对象入参,似乎会自动加入到 Model Attribute 中,而 String 或 int 就不行。例如:
@RequestMapping(value = "/test")
public String test(User user) {
	return "test";
}

访问 http://localhost:8080/demo/test?username=abc
这样在 test.jsp 中,${user.username} 能获得值 abc,而这样:
@RequestMapping(value = "/test")
public String test(String username) {
	return "test";
}

则 ${username} 取不到值。
测试版本是 Spring 3.2.3
请问这种做法是建议的吗?还是应该按规定使用 Model.addAttribute 加入?
2013年7月25日 12:27

3个答案 按时间排序 按投票排序

0 0

formbean的自动转换功能是默认开启的,但是请求基本类型及其包装类还有string是被排除的,详细的可以看源码

2013年7月26日 10:52
0 0

既然是请求参数,为何要在jsp中去获取呢?

2013年7月25日 16:30
0 0

@RequestMapping(value = "/test")  
public String test(@RequestParam(value="username",required=false) String username) {  
    return "test";  
}
单个参数入参需要向springmvc说明吧

2013年7月25日 15:42

相关推荐

    SpringMybatis项目基于@RequestMapping和RequstAttribute实现登录注册

    在SpringMybatis项目中,利用`@RequestMapping`和`RequestAttribute`实现登录注册功能是Web开发中的常见实践。`@RequestMapping`是Spring MVC框架中用于处理HTTP请求映射的注解,而`RequestAttribute`则用于在请求...

    Spring Mvc——第一个应用程序

    - **模型属性(Model Attribute)**:可以在控制器方法之间共享数据。 - **视图解析器(View Resolver)**:负责找到视图的物理路径。 - **消息转换器(Message Converter)**:用于处理 HTTP 请求和响应的实体内容...

    SpringMVC SessionAttribute 使用说明.docx

    1. **模型属性注入**:当`@ModelAttribute`注解在方法参数上时,Spring MVC会尝试从请求参数、模型或会话中找到匹配的属性值,将其绑定到该参数对象。 2. **模型更新**:若`@ModelAttribute`注解在方法上,那么该...

    SpringMVC基础—— ModelAttribute和 SessionAttribute.docx

    Spring MVC在调用实际的处理器方法前,会遍历所有`@ModelAttribute`注解的方法,根据`value`属性的值作为键,方法的返回值作为值,将数据放入`ExtendedModelMap`(模型)中。这部分的实现位于`HandlerMethodInvoker...

    SpringMVC ModelAttribute详解.docx

    此方法接收请求参数`abc`并将其放入`Model`对象的`attributeName`属性中。这样,在视图层(这里是`helloWorld.jsp`)可以直接通过`attributeName`访问到页面参数`abc`的值。这种做法使得我们可以在控制器方法之间...

    SSM笔记-SpringMVC基本使用

    .andExpect(model().attribute("message", "Hello, Spring MVC!")); } } ``` 通过上述测试,我们可以确保Controller在接收到"/hello"请求时能正确地返回"hello"视图,并且模型中包含预期的"message"属性。 总结...

    sping rest

    2. **Model Attribute**:`@ModelAttribute` 注解可以用来绑定请求参数到方法参数,或者从模型中获取数据。 3. **ResponseEntity**:`ResponseEntity` 类用于构建 HTTP 响应,包含状态码、头信息和响应体。你可以...

    详解SpringMVC——接收请求参数和页面传参

    在Spring MVC框架中,接收请求参数和向页面传递数据是两个关键操作,它们构成了Web应用中数据交互的基础。本文将详细解析如何在Spring MVC中实现这些功能。 首先,我们来看如何**接收请求参数**: 1. **使用...

    SpringMVC 基础教程 简单入门实例

    .andExpect(model().attribute("message", "hello; World")); } } ``` 这个测试会发送一个GET请求到`/hello`,并验证返回的视图名称和模型数据是否符合预期。 总结,SpringMVC提供了一种优雅的方式构建Web应用,...

    SpringMVCDemo:如何使用springmvc

    Spring MVC 支持多种高级特性,包括 Model-Attribute、Form 表单绑定、数据验证、拦截器、异常处理、RESTful 风格的 URL 等。随着你对框架的深入学习,可以逐步利用这些功能优化应用。 10. **SpringMVCDemo-master...

    Web on Servlet Stack

    - **Binder Methods**:绑定方法用于处理复杂的表单提交场景,如自定义数据验证规则等。 - **Controller Advice**:这是一种特殊的控制器类,用于处理异常、共享模型数据等跨切面的问题。 **URILinks** - **...

    大型SpringMVC,Mybatis,Redis,Solr,Nginx,SSM分布式电商项目视频教程

    **SpringMVC**是Spring框架的一个模块,它实现了MVC设计模式,主要用于构建Web应用程序。在本教程中,将学习如何使用SpringMVC进行前端页面与后端服务之间的交互处理。 1. **SpringMVC架构原理**: - 请求接收:...

Global site tag (gtag.js) - Google Analytics