2012-07-02 1 views
2

.jsp 파일에 데이터를 하드 코딩했습니다. 내가하고 싶은 일은 자바 스크립트 배열에 서버에서 보낸 데이터를 채우는 것입니다..jsp로 데이터 전달 자바 스크립트 배열

다른 .jsp 페이지에서 데이터를 보내려고했지만 내 페이지에서 사용할 수 있도록 JavaScript var로 변환하는 방법을 알아낼 수 없으며 JSON 개체를 사용하기 시작했습니다. 하지만 계속하기 전에이 작업을 수행하는 가장 좋은 방법이 무엇인지에 대한 지침이 필요합니다.

즉 : 서버의 .html 또는 .jsp 파일에 JavaScipt 배열을 채 웁니다. 배열은 Google Maps API에 사용됩니다.

당신이 어떤 질문이 있으면 알려주세요 : 이것은 아주 간단

감사

답변

3

과 같습니다 : 변수 이름을 지정하는 쿼리 매개 변수를 추가 하시겠습니까?

var foo = [{ 
    "name1": "value1a", 
    "name2": "value2a" 
},{ 
    "name1": "value1b", 
    "name2": "value2b" 
}]; 

아니면 자바 측에 하드 코딩 그리고 당신은뿐만 아니라 JS 측에서 그것을 사용하려는 것 있다면, 가능한 많은 JSON 시리얼 라이저/파서 중 하나를 사용하여 JSON으로 자바 객체를 변환합니다. json.org의 하단에는 Java로 사용 가능한 모든 JSON API의 개요가 있습니다. 그 중 하나는 Google Gson입니다.

var foo = ${jsonString}; 
:

String jsonString = new Gson().toJson(someBeans); 

그것이 JS 변수 인 것처럼 당신은 그럼 그냥 JSP 인쇄를하도록 할 수 있습니다를 다음과 같이 그것이 요청 속성으로 저장되어 있다고 가정하고, JSON 문자열로 예 A List<SomeBean>에 대한 변환 할 수있어

+0

+1, 청소기 답. 검색이 게으르지 만 문자열 화 된 버전에 ''이 포함 된 객체 표현을 이스케이프 처리합니까? – SuperSaiyan

+0

@Thrustmaster : 예, Gson은 기본적으로 JS 속성을 이스케이프 처리합니다. 이것은 또한 구성 가능합니다. – BalusC

1

:

  1. 당신은 당신의 JSP가 출력으로 올바른 자바 스크립트를 생산하고 있는지 확인해야합니다.
  2. <script> 태그가있는 JSP를 포함합니다. 즉, JSP는 URL로 액세스 할 수 있어야하고 해당 URL은 src 속성에 넣어야합니다. 는 JSP 코드에 대한

예 : 나중에 실행되는 모든 자바 스크립트에서 변수 data에 액세스 할 수 있습니다

var data = [<% ...generate array elements here... %>]; 

. 귀하의 경우, 스크립트를 페이지의 첫 번째 것으로 포함 시키므로 모든 다른 스크립트는이 스크립트를 사용할 수 있습니다.

깔끔한 트릭 :

var <%=request.getParameter("name") %> = [<% ...generate array elements here... %>]; 

하고 그것을 직접 JS 변수하게하지 왜 하드의 경우

<script src="...url...?name=data" type="text/javascript">