2012-02-02 4 views
0

심각한 문제가 하나 있는데 논리적 인 해결책을 찾을 수없는 것 같습니다. 여기 있습니다. 내 코드 (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은 나에게 메시지 [L.java.String 및 일부 문자를 제공합니다.

아무도 도와 줄 수 있습니까?

+0

일부 읽을 수있는 코드로 게시물을 수정합니다 ... – L7ColWinters

답변

3

세션에서 얻은 후에 객체 배열에 toString()을 호출하는 대신 객체 참조가 배열이므로 객체 참조를 캐스트하여 사용하십시오.

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

추신으로

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

:이 의미

,이 코드를 교체 toString()의 목적은 예상대로 보이는 것보다 약간 다릅니다. Javadoc을 참조하십시오.