为了账号安全,请及时绑定邮箱和手机立即绑定

spring MVC request请求不能传递带逗号的参数

spring MVC request请求不能传递带逗号的参数

慕少森 2019-04-26 19:15:46
代码如下<html>  <body>    <input name="test" value="12,34,56" type="checkbox"/>    <input name="test" value="78,90,11" type="checkbox"/>  </body></html> 接收参数类public class TestClass{   private String[] test;   public void setTest(String[] test){    this.test = test;  }  public String[] getTest(){    return test;  }}问题是这样的,当我在页面中勾选两个复选框时,功能正常test数组长度为2,值分别为“12,34,56”,"78,90,11"但当我只勾选第一个复选框时,test数组长度为3,值分别“12”,“34”,“56”。 哪位大侠可以告诉我这是怎么回事么,如何解决?万分感谢。
查看完整描述

5 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

主要在于你的拼接参数,因为你现在一个chekbox里面就已经有逗号了,所以你前台拼接成参数过去就以别的形式分开,可以使用^,然后后台对^进行截取,


我的理解是,本来你就是传递的是数组,你现在传一个“12”,“34”,“56”这个过去,我们知道他只是一个值,但是spring应该会认为他是,分割,因为它会理解成你当前传递的是数组,肯定会找里面的分割符号,那你现在,正好符合他的要求,他肯定会认为是一个数组啊,如果中间没有,那么就是单一的一个值了,说的有点乱,不介意啊

查看完整回答
反对 回复 2019-05-06
?
MYYA

TA贡献1868条经验 获得超4个赞

html中,发送request之前是如何拼接参数数据的?


查看完整回答
反对 回复 2019-05-06
?
倚天杖

TA贡献1828条经验 获得超3个赞

由于你的name属性是相同的,所以会出现这种状况。


查看完整回答
反对 回复 2019-05-06
?
12345678_0001

TA贡献1802条经验 获得超5个赞

不建议同名 test 来注入到bean 中去

如果比较复杂的 建议组成json串处理 貌似多个radio 可以用重名。你这个checkBox 为什么要用同名啊

查看完整回答
反对 回复 2019-05-06
?
呼如林

TA贡献1798条经验 获得超3个赞

method写错了。


查看完整回答
反对 回复 2019-05-06
  • 5 回答
  • 0 关注
  • 1040 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号