2011-12-26 4 views

답변

1

쉬운 방법 JSF는 동일한 관점에서 JS 변수로 JSON 오브젝트의 스트링 표현을 출력하도록하는 것이다 이를 위해 완벽한 JSON 웹 서비스를 사용하십시오. JSF는 JSON 웹 서비스가 아닌 컴포넌트 기반 MVC 프레임 워크입니다. 이를 위해 Java EE 스택은 JAX-RS API를 제공합니다. 긴 대답은 짧습니다 : Servlet vs RESTful. 이것을 jQuery 또는 Ajax 요청을 보내고 기본적으로 oneliner에서 HTML DOM 트리를 조작 할 수있는 JS 프레임 워크와 함께 사용하는 것이 바람직합니다. JSF와 함께 사용하면 순수 프리젠 테이션에만 사용할 수 있다는 것을 고려하면됩니다.

0

브라우저는 요청해야합니다. 즉, 문자열은 요청 처리 체인의 어딘가에 있어야합니다. 해당 문자열에 대한 응답을 설정하면 브라우저가 응답을받습니다.

+0

예를 들어주세요. –

+0

서버에서 일반 HTML 페이지를 어떻게 제공합니까? – Nicolas78

+0

JSF 2와 자바 스크립트를 사용하고 있습니다. –

2

HTTP에서 서버는 클라이언트 측에 아무 것도 보내지 않습니다. 클라이언트 측에서는 요청을 사용하여 일부 리소스를 요청하고 응답에 리소스가 포함됩니다.

JavaScript 함수가 서버에 AJAX 요청을 보내고 응답 JSON 문자열을 응답 작성자에게 쓰는 방법으로이 JSON 문자열로 서버에 응답하게합니다.

JavaScript에서 JSON String을 가져 오려면 http://api.jquery.com/jQuery.getJSON/을 참조하십시오. 서버 코드는 다음과 같이 간단합니다.

response.getWriter().print(jsonText); 
+0

참조 또는 코드 스 니펫을 참조하십시오. –

+0

하지만 자바 스크립트 만 사용하고 있는데, 어떻게 정상 JS로 수행 할 수 있습니까? –

+0

http://www.w3schools.com/ajax/default.asp 및 http://www.json.org/js.html을 읽으십시오. 스스로 호의를 베풀고 모든 크로스 브라우저 문제를 처리 할 jQuery 나 Prototype과 같은 JavaScript 라이브러리를 사용하십시오. 네이티브 AJAX는 엉덩이에 통증이 있습니다. –

0

나는 json 문자열에 대한 응답을 원한다고 생각합니다. jQuery 함수 getJSON을 사용하여 수행 할 수 있습니다. json 문자열을 가져 와서 inti 해시를 구문 분석 한 다음 필요에 맞게 처리해야합니다. API documentation

0

응답에 json 개체를 보내고 자바 스크립트에서 응답을 받으십시오. json 객체를 평가하는 eval 함수를 사용합니다.

<script>var users = #{bean.usersAsJson};</script> 

올바른 방법 그러나하는 것이다

var jsonObject = eval('(' + request.responseText + ')');