首页 > 其他分享 >Required request parameter 'numbers' for method parameter type String[] is not present

Required request parameter 'numbers' for method parameter type String[] is not present

时间:2023-11-08 23:44:06浏览次数:47  
标签:web 5.3 java String parameter jar 29 org type

报错就是这个,然后报错的信息再给点详细的

 

org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter 'numbers' for method parameter type String[] is not present
	at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValueInternal(RequestParamMethodArgumentResolver.java:218) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.method.annotation.RequestParamMethodArgumentResolver.handleMissingValue(RequestParamMethodArgumentResolver.java:193) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:114) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:179) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:146) ~[spring-web-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1072) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:965) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:555) ~[tomcat-embed-core-9.0.78.jar:4.0.FR]
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.29.jar:5.3.29]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) ~[tomcat-embed-core-9.0.78.jar:4.0.FR]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209) ~[tomcat-embed-core-9.0.78.jar:9.0.78]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153) ~[tomcat-embed-core-9.0.78.jar:9.0.78]

  前端代码

$('.permission-checkbox').change(function() {
				var selectedPermissions = $('.permission-checkbox:checked').map(function() {
					return this.value; // 获取复选框的值
				}).get(); // 将jQuery对象转换为数组
				console.log(selectedPermissions); // 在控制台打印选中的权限值
				var id=document.getElementById("id").value;
				$.ajax({
					url: urls+'/update_permission',
					type: 'POST', // 或者 'POST' 如果后端是用@PostMapping来接收
					data: {
						id:id,
						numbers: selectedPermissions // 这是你的数组
					},
					dataType:"json",
					success: function(response) {
						console.log(response); // 这里处理你的响应
					},
					error: function(xhr, status, error) {
						console.error(error); // 错误处理
					}
				});


			});

  

 后端代码

@RequestMapping("/update_permission")
    @ResponseBody
    public String updatePermission(@RequestParam("id") Integer id,@RequestParam("numbers") String[] numbers) {
        // numbers将会接收到一个String类型的数组,例如 ["3", "4", "5", "6", "8", "10"]
        // 你可以在这里处理数组数据
        //@RequestParam("empIdArray[]") int[] empArr
        log.info("id:{},用户id:{}",id,numbers);
        return "6666";
    }

  解决方案

@RequestMapping("/update_permission")
    @ResponseBody
    public String updatePermission(@RequestParam("id") Integer id,@RequestParam("numbers[]") String[] numbers) {
        // numbers将会接收到一个String类型的数组,例如 ["3", "4", "5", "6", "8", "10"]
        // 你可以在这里处理数组数据
        //@RequestParam("empIdArray[]") int[] empArr
        log.info("id:{},用户id:{}",id,numbers);
        return "6666";
    }

  

 

 

 

标签:web,5.3,java,String,parameter,jar,29,org,type
From: https://www.cnblogs.com/q202105271618/p/17818647.html

相关文章

  • 无涯教程-批处理 - Right String函数
    这用于从字符串末尾提取字符。RightString-示例@echooffsetstr=Thismessageneedschanged.echo%str%setstr=%str:~-8%echo%str%关于上述程序,需要注意的关键是,使用〜-"要提取的字符数"运算符来提取字符串的右边。上面的命令产生以下输出。Thismessagene......
  • Uncaught TypeError: Cannot read property ‘addEventListener‘ of null 求助!!!!!!
    今天在项目中遇到个问题如下:vue项目中public的index.html文件script标签引入了一个外部的js文件,里面有一个方法每次调用的时候都会报错UncaughtTypeError:Cannotreadproperty‘addEventListener‘ofnull,网上查的所有办法都试过了:跟标签摆放先后位置,放到onload方法中都没......
  • 无涯教程-批处理 - Replace a String函数
    要将子字符串替换为另一个字符串,请使用字符串替换功能。ReplaceaString-示例@echooffsetstr=Thismessageneedschanged.echo%str%setstr=%str:needs=has%echo%str%关于上述程序,需要注意的关键是,该示例通过语句%str:needs=has%用字符串"has"替换了"needs"......
  • ECMAScript中有5种原始类型,即undefined、null、number、string、boolean。
    ECMAScript中,变量可以存放两种类型的值,即原始值和引用值。原始值是存储在栈中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。引用值是存储在堆中的对象,也就是说,存储在变量处的值是一个指针,指向存储对象的内存处。ECMAScript中有5种原始类型,即undefined、null、number......
  • Exception.printStackTrace()转换为String输出
    packagecom.test1;importjava.io.PrintWriter;importjava.io.StringWriter;publicclassT010{/***@paramargs*/publicstaticvoidmain(String[]args){try{String[]arr={"111&qu......
  • 无涯教程-批处理 - Mid String函数
    这用于通过字符串中字符的位置提取子字符串。MidString-示例@echooffsetstr=HelloLearnfkecho%str%setstr=%str:~5,10%echo%str%关于上述程序,需要注意的关键是〜5,10用于指定需要显示的字符,在这种情况下,无涯教程希望showcharacter5到10。上面的命令产生以下......
  • 无涯教程-批处理 - Left String函数
    这用于从字符串的开头提取字符。@echooffsetstr=HelloLearnfkecho%str%setstr=%str:~0,5%echo%str%关于上述程序,要注意的关键是〜0,5用于指定需要显示的字符。在这种情况下,无涯教程说应该showcharacter0到5。上面的命令产生以下输出。HelloLearnfkHello参......
  • Java中用引号创建String对象和用构造函数的区别
    创建一个String对象一般有以下两种方式:Stringstr1="abcd";Stringstr2=newString("abcd");这两种方式有什么区别呢?我们可以通过下面两个小例子来说明.Example1:Stringa="abcd";Stringb="abcd";System.out.println(a==b);//True......
  • ALLEGRO导网表报错This reference has already been assigned to a different package
     (1)QUESTION(ORCAP-1589):Nethastwoormorealiases-possibleshort?原因:器件默认管脚命名(NET名称)与所连接网络的NET名称不一致导致的措施:可忽略。或关闭Tools->DesignRulesCheck->PhysicalRules->Checkpowergroundshort(2)ReportforInvalidReferencesERROR(ORCAP-......
  • 每个构造函数都有个propotype属性,每个实例化对象都有个隐式原型__propo__,对象的隐式原
    每个构造函数都有个propotype属性,每个实例化对象都有个隐式原型__propo__,对象的隐式原型指向其构造函数的显示原型所有的引用类型(数组,对象,函数),都有__proto__属性,属性值是一个普通的对象对象分为函数对象和普通对象,只有函数对象是有prototype的,object.__proto__也有prototype,但它......