Java 如何使用@RequestParam有效地处理多个用户输入
我正在使用Java 如何使用@RequestParam有效地处理多个用户输入,java,spring,spring-mvc,Java,Spring,Spring Mvc,我正在使用@RequestParam捕获前端用户输入,并通过控制器将其传递到后端,然后将其保存到数据库中 到目前为止,controller处理请求的方式如下: @RequestMapping(value = "/myURL", method = RequestMethod.POST) public String saveCustomer( @RequestParam("customerFirstName") String customerFirstName,
@RequestParam
捕获前端用户输入,并通过控制器将其传递到后端,然后将其保存到数据库中
到目前为止,controller处理请求的方式如下:
@RequestMapping(value = "/myURL", method = RequestMethod.POST)
public String saveCustomer(
@RequestParam("customerFirstName") String customerFirstName,
@RequestParam("customerLastName") String customerLastName,) {
Customer customer = customerService.saveCustomer(
customerFirstName, customerLastName);
return null;
}
好吧,我想当我只有两个参数
@RequestParam
时,这很好,但是我面对的是一个有10个以上参数的表,我认为使用@RequestParam显然是不现实的,有没有其他的解决方法?你应该创建一个使用JSON的提供者,因此,您可以发送复杂的Java\JS对象,而不仅仅是原语。您可以直接保存客户
@RequestMapping(value = "/myURL", method = RequestMethod.POST)
public String saveCustomer(Customer customer) {
customerService.saveCustomer(customer);
return null;
}
Spring可以数据绑定POJO,只要您的属性没有参数构造函数和设置器。如果您要处理多个@RequestParam,您可以选择bean类方法 控制器:
@RequestMapping(value = "/myURL", method = RequestMethod.POST)
public String saveCustomer(
@RequestBody Customer customer) {
return null;
}
豆子:
有关@RequestBody的更多信息,请查看此内容。为什么您会说它不现实?@cadams编写包含10个参数的方法既耗时又混乱,您不这么认为吗?也许只需在参数列表之外执行用户输入,并将信息存储在变量中,然后使用这些变量作为参数?不需要JSON。Spring可以将表单属性数据绑定到POJOs@NeilMcGuigan您能否修改您的答案以将数据绑定表单属性添加到POJO?因此,目前在前端,我有用户将键入的表单,我使用
@RequestParam
捕获这些数据,如果按照您的建议执行,您如何确保我可以将用户输入数据传递给客户
?我不理解您的问题。在您的案例中不需要使用@RequestParam
public class Customer{
private String customerFirstName;
private String customerLastName;
//constructors, getters and setters
}