2014-04-02 2 views
1

데이터베이스 테이블의 모든 값을 javascript로 전달하는 방법. 이 사용하여 시도했지만 단 하나의 값을 자바 스크립트 전달됩니다. jsp에서 javascript로 데이터베이스 값 전달

내 JSP

while(rs.next){ 
String timestamp= new SimpleDateFormat("MM/dd/yyyy hh:mm a").format(rs.getTimestamp("enddate")); 
} 

을의 코드이며 내 자바 스크립트에 전달되는 i가 스크립트를 테이블에서 첫 번째 값을 실행

<script language="JavaScript"> 

TargetDate = "<%=timestamp%>"; 

매번를 수신하는 방법이있다 자바 스크립트. 이 문제를 어떻게 해결할 수 있습니까?

+0

으로 반복이며, 문자열 배열 – spiderman

답변

1

기본적으로 결과 집합을 반복하고 timetstamp 목록을 가져와야합니다. 현재 하나의 타임 스탬프 만 가져 와서 표시하고 있습니다. 당신은 자바 스크립트 객체가 있으면

는 그런 다음 JSON 문자열을 자바 ArrayList를 변환 Javacript 배열 이 자바 목록을 변환하고, JSON.parse를 사용해야합니다() 자바 스크립트 객체

를 얻기 위해, 당신은있다. . 자바

JSON : http://json.org/java/

대체 방법 :

참고 : JSP에서 스크립틀릿 사용은 전혀 권장되지 않습니다. JSTL 태그 라이브러리를 사용해보십시오.

것은 당신이 찾고 있기 때문에, 여기가 결과 집합을 통해

<% 
     int length = 3; // in your case, resultset count 
     String results[] = new String[length]; 
     results[0] = "result1"; 
     results[1] = "result2"; 
     results[2] = "result3"; 

     // convert java string array to a javascript array 

     StringBuffer sb = new StringBuffer(); 
     sb.append("["); 
     for (int i = 0; i < results.length; i++) { 
      sb.append("\"").append(results[i]).append("\""); 
      if (i + 1 < results.length) { 
       sb.append(","); 
      } 
     } 
     sb.append("]"); 
     String jsarrayAsJavaString = sb.toString(); 
    %> 
    <script language="JavaScript"> 
    var target = <%= jsarrayAsJavaString %> 
    alert(target[0]); // target is a javascript array object. That's why you can do this 
    alert(target); // print the entire javascript array 

    //looping JS array 
    for(var i=0;i<target.length;i++) { 
     alert(target[i]); 
    } 
    </script> 

</body> 
+0

에 저장이 답변에 감사하지만 당신은 나에게로 변환하는 방법에 대한 예제를 제공하시기 바랍니다 수 있습니다 위? – nab331a

+0

답변이 – spiderman

+0

에게 많이 업데이트되었습니다. 이것은 정말로 도움이됩니다! – nab331a

0

내가 당신의 코드에서 보는 문제는 만약 내가 잘못 이해하지 않는다면; 당신은 rs에서 모든 타임 스탬프를 가져 가려고합니다. 그러나 하나의 타임 스탬프를 선언합니다.

그래서 내가 루프에서해야 루프, 그리고 그것에 타임 스탬프를 선언하고 모든 행에 대해, 당신은 자바 측에 배열로 밀어해야한다고 생각합니다.

그런 다음 javasript 측에서 타임 스탬프 json 배열로 반환해야합니다. 자바 스크립트의 경우 문자열 배열을 사용하게됩니다. 다시 생각 해봐야 겠어.

관련 문제