как получить значение из атрибута запроса вне цикла - PullRequest
0 голосов
/ 28 января 2019

Я пытаюсь установить значения в объекте запроса внутри цикла for, и он был успешно установлен, но как я могу получить значение, если значение установлено внутри цикла.Код, который я пробовал, приведен ниже -

        String str = "";                
            for(int i=0; i<sizearray.length; i++){
                str += sizearray[i];                         
                request.setAttribute("ssize", str.substring(str.lastIndexOf("-") + 1));       // two value set ie. 11 and 19
            }               
        out.println(request.getAttribute("ssize"));  // giving one value ie. 19

Ответы [ 3 ]

0 голосов
/ 28 января 2019

У вас есть текущее значение атрибута и конкатат нового ... Попробуйте что-то вроде:

String str = "";                
            for(int i=0; i<sizearray.length; i++){
                str += sizearray[i];                         
                request.setAttribute("ssize", request.getAttribute("ssize") + str.substring(str.lastIndexOf("-") + 1));
            }               
        out.println(request.getAttribute("ssize"));
0 голосов
/ 28 января 2019

Это потому, что вы переопределяете старые значения новыми, так как вы используете один и тот же ключ для всех.Лучшим подходом было бы создать Map, поместить в него данные и затем сохранить эту карту в объекте запроса в качестве атрибута.

    Map<String, String> dataMap = new HashMap<>();
    String str = "";                
    for(int i=0; i<sizearray.length; i++) {
        str += sizearray[i];                         
        dataMap.put("data"+i, str.substring(str.lastIndexOf("-") + 1));       
    }    
    request.setAttribute("ssize", dataMap);
    out.println(request.getAttribute("ssize")); // this will now give you all values.
0 голосов
/ 28 января 2019

Вы должны иметь возможность получить доступ к значению запроса вне цикла for без каких-либо проблем.

Я думаю, что реальная проблема заключается в том, что вы в значительной степени переопределяете начальное значение (11), когда последнее значение(19) установлено.

Это потому, что вы используете один и тот же ключ для обоих значений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...