我的文本框中包含以逗号分隔的值。我想从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
*/
答案 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]);
}