新手小白发文,简单讲解一下我写代码中遇到的错误,和我找到的解决方法,以此记录下来或提供给遇到同样问题的朋友们。
报错显示:如图,运行后显示的错误原因为实际参数列表和形式参数列表长度不同,根据该错误显示找到错误代码。
错误代码段:错误为调用Service中的updateAAddress方法时,传入的address参数错误,根据错误提示可以得知,传入的参数与调用的方法中需要传入的参数不一致,于是我们找到Service中的updateAAddress方法。
点开Service层,找到updateAAddress方法,可以看到该方法中定义的参数有两个,而我们调用该方法时传入的参数只有一个,所以报错显示实际参数列表和形式参数列表长度不同,因此我们需要添加传入的参数,从而与方法中的参数长度保持一致。
解决过程:在传入的参数中添加一个与方法中对应的参数,并定义该参数为一个null值(记得保持参数类型一致),添加完后,代码段不在报错,问题成功解决。
public String saveAAddress(AddressInfo addressInfo, HttpServletRequest request,
RedirectAttributes attributes){
int old_default_address = Integer.parseInt(null);
//保存尽量用自动绑定,尽量不要传入多个参数。
//form_status写在表单里面的隐藏属性。
String form_status = request.getParameter("form_status");
int flag = 0;
if (form_status.equals("add")){
flag = addressService.insertAAddress(addressInfo);
}
else if (form_status.equals("edit")){
flag = addressService.updateAAddress(addressInfo, old_default_address);
}
总结: 在调用方法时,传入的参数记得要与方法中定义的参数保持一致哟!