получение переменных сеанса из сеанса - PullRequest
0 голосов
/ 04 мая 2011

Я получаю приведенную ниже ошибку при компиляции приведенного ниже кода

Enumeration e = bean.getSession().getAttributeNames(); 
        while (e.hasMoreElements()) { 
        String name = (String)e.nextElement(); 
        String value = session.getAttribute(name).toString(); 
        System.out.println(name + " = " + value); 

Error:
found   : java.util.Iterator
required: java.util.Enumeration
        Enumeration e = bean.getSession().getAttributeNames(); 

Ответы [ 4 ]

3 голосов
/ 04 мая 2011

как насчет использования цикла for?

for (String name : bean.getSession().getAttributeNames() ) {
    String value = session.getAttribute(name).toString();
    System.out.println( name + " = " + value );
}
3 голосов
/ 04 мая 2011

Вы не должны использовать перечисление, это должен быть Итератор.Затем используйте методы Итератора, такие как hasNext (), чтобы проверить, есть ли следующий элемент, и next (), чтобы получить следующий элемент.Надеюсь, это поможет:)

0 голосов
/ 27 сентября 2016

Я думаю, что проблема в первой строке. Это работает для меня:

<%
    Enumeration attrs = session.getAttributeNames(); //you will need to include java.util.Enumeration
    while(attrs.hasMoreElements()){ //for each item in the session array
        String id = attrs.nextElement().toString(); //the name of the attribute
        out.print("'" + id + "': '" + session.getAttribute(id) + "'"); //print out the key/value pair
    }
%>

Как уже указывали другие, вы должны использовать итератор

0 голосов
/ 04 мая 2011

Похоже, вы на самом деле используете метод getAttributeNames(), который возвращает экземпляр java.util.Iterator. Так что для быстрого исправления это должно сработать:

Iterator it = bean.getSession().getAttributeNames(); 
while (it.hasNext()) { 
    String name = (String)it.next(); 
    String value = session.getAttribute(name).toString(); 
    System.out.println(name + " = " + value);

Дополнительная справка / информация может быть предоставлена, если мы знаем фактические типы переменной bean и / или возвращаемое значение bean.getSession().

...