Строковые массивы и сессия - PullRequest
0 голосов
/ 02 февраля 2012

Я имею дело с одной серьезной проблемой и, похоже, не могу найти логического решения. Здесь это идет. У меня есть массив строк в моем коде (файл JSP). Я хочу передать массив на той же странице, и я подумал о том, чтобы сделать массив сеансом и снова вызвать его в моем коде, но мне кажется, что я не могу взять сеанс (с помощью get.Attribute) и снова сделать его массивом. Чтобы быть более точным, следующий код может помочь вам.

        while (onomaq.next()) {
                                    String onomatemp = onomaq.getString("one1");
                                    String[] onoma = onomatemp.split(" ");
                                    out.println(onoma[2]);
                                    session.setAttribute("onoma", onoma);
                                }
                            } catch (Exception e) {
                                System.out.println("SQL Exception: " + e.toString());
                            }

                        %>

                        <%
try{
   Object o = session.getAttribute("onoma");
String k=o.toString();
String[] name=k.split(",");
out.println(name[1]);

}
catch (Exception e)
         {
                                                           System.out.println("SQL Exception: " + e.toString());
                            }

out.println дает мне сообщение lige [L.java.String и некоторые символы.

Может кто-нибудь помочь мне, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

Вместо вызова toString() для вашего объекта массива после получения его из сеанса, просто приведите ссылку на объект в массив (поскольку ваш объект является массивом) и используйте его.

Это означает, замените этокод:

Object o = session.getAttribute("onoma");
String k=o.toString();
String[] name=k.split(",");

с

String[] name= (String[]) session.getAttribute("onoma");

ps Цель toString() несколько отличается от того, что вы, похоже, ожидаете.См. Javadoc .

0 голосов
/ 05 октября 2018
String[] expected_array= (String[]) session.getAttribute("onoma");

Затем запустите его внутри цикла для извлечения. Пример:

for(int i = 0; i < expected_array. length; i++) 
{
     String strings = expected_array[i] ;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...