1

我正在尝试将 String[] 从客户端发布到 Spring 3。在控制器端,我已经定义了这样的方法。

@RequestMapping(value = "somemethod", method = RequestMethod.POST)
            public ModelAndView exportSomething(@RequestParam("sentences") String[] sentences) {
                 //.. logic
}

我发送的数据如下所示

sentences: ["a","b,c","d"] 

问题出在服务器端,句子数组的大小为 4。它将 b 和 c 拆分为两个不同的单词。

这是 Spring 的问题还是我需要改变传递数据的方式?

4

2 回答 2

3

我猜它是 Spring 框架的一个已知问题。见https://jira.springsource.org/browse/SPR-7963

于 2012-06-07T11:26:07.713 回答
0

尝试以这种格式发送数据。

句子:“a;b,c;d” 注意在这种情况下你的分隔符是 ; 不是,所以你发送了一个字符串,其中包含一个列表

@RequestMapping(value = "somemethod", method = RequestMethod.POST)
        public ModelAndView exportSomething(@RequestParam("sentences") String sentences) {
            String[] sentenceArray = sentences.split(";");
            for(String tempString:sentenceArray){
               // perform what operation you want to perform
            }

}

在这种情况下,您将得到一个大小为 3 而不是 4 的数组。

您的方法不起作用的原因可能是因为您使用了逗号,它是数组的默认分隔符。

于 2012-06-07T12:19:46.067 回答