如何将commaseparated输入值作为String []? getParameterValues()返回单个值

时间:2016-03-20 13:26:47

标签: arrays jsp servlets

我的文本框中包含以逗号分隔的值。我想从Servlet类中获取这些打印在一行(逐个迭代)的每个值。但就我而言,所有的价值观都在印刷,我不知道原因。如何解决这个问题?

以下是jsp页面中的文本框,此表单已提交:

<input id="LOAD_ID" placeholder="LOAD_ID" type="text" name="LOAD_ID" value="111,222,3333,">

在servlet中:

final String[] strLoadID = request.getParameterValues(IConstants.LOAD_ID); 
 //dubugging >> values shows: 111,222,3333, 

for(int i=0;i<3;i++) {
    System.out.println(strLoadID[i]); // this is printing: 111,222,3333,
}
  /**
     But the Expected output is: 
                                  111
                                  222
                                  3333
  */

2 个答案:

答案 0 :(得分:0)

这是因为getParameterValues将检索具有此名称/ ID的所有标记的值。

由于您只有一个相应的标记,因此您有一个大小为1的数组。

这是一个解决方案。

final String[] strLoadID = request.getParameterValues(IConstants.LOAD_ID); 
String[] load_idValues = strLoadID[0].split(",");

for (String s : load_idValues) {
    System.out.println(s);
}

答案 1 :(得分:0)

在您的servlet中: -

String strLoadID = request.getParameterValues(IConstants.LOAD_ID); 
String [] strArr = strloadID[0].split(",");
for(int i = 0 ; i < strArr.length ;i++){
   System.out.println(strArr[i]);
}