对于最近我们项目组在用springMVC框架做东东,但是了在Get请求传递参数的时候我就遇到了这样的一个问题,就是如果对于参数少的可以使用注解@RequestParam(value="xxx")来进行绑定,但是对于参数多的怎么办了,而且我还发现一个问题怎样和@valid这个注解结合使用了。
所以我在上班之余研究了一下怎样把get请求的参数封装到实体类中去,于是我自己定义了一个实体类,如下:
public class Commodity {
private String name;
private Integer brandId;
public Commodity() {
}
public Commodity(String name, Integer brandId) {
this.name = name;
this.brandId = brandId;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the brandId
*/
public Integer getBrandId() {
return brandId;
}
/**
* @param brandId the brandId to set
*/
public void setBrandId(Integer brandId) {
this.brandId = brandId;
}
}
jsp页面,页面如下:
<a href="/commodity/search.do?name='猪肉'&brandId=12">商品列表</a>
,
然后,我自己写了一个测试的控制层,代码如下:
@Controller
@RequestMapping(value="/commodity")
public class CommodityController {
@RequestMapping(value="/search.do")
public String commoditySearch(Commodity commodity, ModelMap modelMap) {
System.out.println(commodity.getName()+":"+commodity.getBrandId());
return "commodity/search";
}
}
运行tomcat之后,访问首页点击超链接他直接跳转到commodityController里面,并且把我传递的参数封装成了Commodity对象,但是我把链接里面的参数名字改了一下发现这个实体类是无法接受我传递的参数,说明从客户端发出来的请求之后就会根据请求调用control层的代码,请求我估计根据调用的请求会实例化一个Commodity对象,然后调用Commodity对象的set方法(估计根据“set”+参数名称),然后把参数封装到实体里面,这样做的话就对于传参以及验证非常方便了。
不过以上写的只是我自己边写边想的结果,如有不对请大家立即指出。希望能够与大家共同进步
分享到:
相关推荐
在Spring MVC框架中,处理HTTP请求并接收参数是一项常见的任务。Spring MVC提供了多种方式来接收前端传递的数据,包括单独的参数、数组、列表以及自定义对象。本教程将重点讲解如何接收ajax和form表单传递的集合参数...
总结起来,"参数封装成对象-手动封装(非springmvc)"涉及的关键技术点包括:JavaBean模式、HTTP请求参数处理、Apache Commons BeanUtils库的使用以及手动映射数据到对象的方法。了解和掌握这些知识点,对于进行Java ...
例如,使用jQuery的`$.ajax()`或`$.getJSON()`方法可以轻松发起Ajax请求。这些函数封装了创建XMLHttpRequest对象和处理响应的复杂性。 4. **异步处理** 异步处理是Ajax的核心特性。在Spring MVC中,可以通过`@...
在编码阶段,SpringMVC的Controller类负责接收HTTP请求,调用Service层的方法,Service层再进一步调用Dao层的方法来与数据库交互。这样,业务逻辑就被很好地分层,实现了松耦合。 最后,进行测试。在Maven项目中,...
本篇将深入探讨Spring MVC中如何封装参数,以及如何在不同组件之间传递。 首先,Spring MVC通过`@RequestParam`注解来获取HTTP请求中的参数。例如,如果我们有一个POST请求,其中包含一个名为`username`的参数,...
SpringMVC提供了一个前端控制器DispatcherServlet,处理所有的HTTP请求,并将请求转发给相应的处理器。 3. 整合MyBatis与SpringMVC:整合这两者的关键在于Spring管理MyBatis的SqlSessionFactory和...
首先,SpringMVC作为Spring框架的一部分,主要用于处理HTTP请求和响应,它提供了模型-视图-控制器(MVC)架构模式。SpringMVC的核心组件包括DispatcherServlet、Controller、ModelAndView、ViewResolver等。在封装...
首先,SpringMVC会从HTTP请求中获取参数,这些参数可以是通过GET或POST方法传递的。然后,SpringMVC会根据参数的类型将其转换为对应的Java类型。最后,SpringMVC会使用这些参数构建出对应的Java对象。 二、...
在SpringMVC框架中,参数绑定是核心概念之一,主要负责从前端接收数据,并将其绑定到后端Controller层的方法参数上...掌握这些知识点有助于开发者更好地处理HTTP请求和响应,以及在Java Web开发中实现高效的数据交互。
Spring MVC 是一种基于Java的轻量级Web框架,它提供了丰富的功能来处理HTTP请求。其中,如何有效地从前端获取数据并进行相应的业务逻辑处理尤为重要。在Spring MVC中,可以通过多种方式来接收请求参数。 #### 三、...
- 线程池可以通过调整核心线程数、最大线程数、线程超时策略等参数进行定制,以适应不同场景的需求。 4. **Apache Kafka**: - Kafka是一种分布式流处理平台,常用于构建实时数据管道和流应用。 - 它提供发布/...
标题中的"Spring+ibatis+struts框架整合+springmvc数据接口封装含数据表可直接运行"揭示了这个项目是关于使用三个主流的Java Web开发框架——Spring、iBatis和Struts进行集成,并且结合Spring MVC实现了数据接口的...
- **DispatcherServlet**:它是SpringMVC的入口点,负责接收HTTP请求,并将其转发给相应的处理器。 - **HandlerMapping**:这个组件负责将请求映射到适当的处理器(Controller)。 - **Controller**:处理业务...
3. 使用`@RequestParam`获取GET或POST请求参数。 4. 封装POJO对象,自动将请求参数映射到对象属性。 5. 获取cookie值。 6. 接收对象List集合,处理数组或集合类型的参数。 7. 接收JSON格式的请求,配合`@RequestBody...
在Spring MVC框架中,HttpEntity和ResponseEntity是两个非常重要的概念,它们主要用于处理HTTP请求和响应。本项目“springMVC-HttpEntity(ResponseEntity)demo”是一个实战演示,展示了如何在Spring MVC应用中使用...
数据对象通常指的是来自HTTP请求的数据,比如表单提交的参数,或者是JSON或XML格式的请求体。这些数据需要被转换成Java对象,以便在后端进行处理。 描述中的"实现前台页面对象的封装"意味着我们要关注如何将前端...
DispatcherServlet是SpringMVC的入口点,它接收HTTP请求并根据配置的映射规则转发给相应的处理器。处理器可以是实现了Controller接口的自定义类,或者使用注解@Controller标记的类。 接下来,我们探讨SpringMVC中的...
SpringMVC是Spring框架的一部分,主要负责处理HTTP请求和响应,而MyBatis则是一个轻量级的持久层框架,简化了数据库操作。接下来,我们将深入探讨这两个框架以及它们在"SpringMVC+Mybatis demo"中的应用。 **...
DispatcherServlet作为入口,负责接收HTTP请求并分发到相应的处理程序。 1. DispatcherServlet:它是SpringMVC的前端控制器,负责接收请求并根据配置的映射规则选择合适的处理器。 2. Controller:控制器是业务逻辑...
SpringMVC是目前主流的Web...例如patternsCondition、methodsCondition、paramsCondition、headersCondition、consumesCondition和producesCondition等,它们分别对应HTTP请求的路径模式、方法、参数、头部信息等。 ...