AJAX传给SpringMVC字符串与JAVA后台处理问题

2016-12-29 19:32:08来源:CSDN作者:tomasyao人点击

在js代码中有如下ajax:

$.ajax({    type:"POST",    url:"/user_role/roleForOneUser",    data:{"id":$scope.userViewInfo.id,"roleList":this.roleArray},    contentType:"application/x-www-form-urlencoded",    dataType:"json",    success:function(data){        console.log(data);        $scope.$apply(function(){        });    }});
其中,this.roleArray如果为list类型无法传给后台(跟配置有关,暂不考虑),故转换为字符串用减号(“-”)进行分隔。

例如:this.roleArray = "0-2-3-4-5-12-32-1-";

后台java程序接收到这个字符串后将其变换成list对象。采用如下方法:

package com.whut.work.base.util;import java.util.ArrayList;import java.util.List;/** * Created by zouy on 2016/12/29. */public class JavaStringUtil{    private static int counter = 0;    private static List<Integer> listInt = new ArrayList<Integer>();    //判断字符串str含有多少个substr子字符串    public static int stringNumbers(String str,String substr) {        if (str.indexOf(substr) == -1) {            return counter;        }        else if(str.indexOf(substr) != -1) {            counter++;            stringNumbers(str.substring(str.indexOf(substr)+substr.length()),substr);        }        return counter;    }        //将string字符串(用"-"隔开的)变成list集合    public static List<Integer> stringToList(String str,String substr) {        if (str.indexOf(substr) == -1) {            return listInt;        }        else if(str.indexOf(substr) != -1) {        	listInt.add(Integer.parseInt(str.substring(0, str.indexOf(substr))));        	stringToList(str.substring(str.indexOf(substr)+substr.length()),substr);        }        return listInt;    }}
新建一个Class,用来测试以上方法,举个例子如下:
package com.whut.work.base.util;import java.util.List;import com.whut.work.base.util.TestString;public class TestString {	public static void main(String[] args) {		String str = "0-2-3-4-5-12-32-1-";		String substr = "-";		List<Integer> listInt = JavaStringUtil.stringToList(str,substr);		System.out.println(listInt);	}}
运行以上方法,可以看到控制台输出如下:

[0, 2, 3, 4, 5, 12, 32, 1]

证明转换成功,然后我们进行数据库操作。




最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台