JSF 관리 빈에서 CSV 파일을 검색하려고합니다.클라이언트 측에서 CSV 응답 받기
지금 내가 이런 식으로 일을하고,
CsvController : 콩 콘텐츠 형식의 텍스트/CSV로 출력을 응답합니다.
samplecsv.xhtml : 코드가 포함 웹 페이지 : 나 브라우저에이 페이지를 탐색 할 때 다운로드 대화 상자가 CSV 파일을 다운로드 할 수있는 열립니다
#{csvController.generateReport()}
.
report.xhtml : samplecsv.xhtml을 없애 직접 report.xhtml에 콩에서 csv 파일을 검색 할 수있는 방법이 있나요
d3.csv('http://mysite/samplecsv.xhtml');
: 그 CSV를 다운로드
웹 페이지? d3.csv('http://mysite/csvController/report')
과 같은 것이 좋습니다
내가 그것을 사용한 적이! 것은 우리가 자바에서 정말로 프로가 아니다. 우리는 빠른 웹 응용 프로그램이 필요했고 JSF (primeface 및 omnifaces 포함)와 스프링 (모든 세계에서 최상임)을 통합하여 JSF를 작성했습니다. 단기간에 좋은 결과를 얻었지만 JSF를 완전히 제거하고 순수한 스프링 MVC를 사용하려고합니다. 이러한 변화를 염두에두고 csv 파일에 Spring 서블릿을 사용하고 나머지는 Faces Servlet으로 남겨 두는 것이 좋습니다. – coolscitist
그게 내가 찾는 것입니다. 이제 새로운 구현은 보고서 이름을 매개 변수로 사용하는 CsvServlet으로 구성됩니다. 나는 보고서를 해결하는 방법에 대해 여전히 혼란스럽고 제대로 초기화되었는지 확인한다. 각 보고서는 autowired DataSource 및 기타 서비스로 다른 bean에 액세스하는 관리 Bean입니다. 모든 보고서를 CsvServlet에 삽입하고 싶지 않습니다. Csv 요청에서 보고서 이름을 읽은 후 데이터 소스 및 서비스로 자동 초기화 된 해당 보고서 빈을 어떻게 호출 할 수 있습니까? – coolscitist
이것은 내가 생각하는 것입니다 : 1. CsvServlet : 각 요청에 대해 ReportResolver를 사용하여 CSV 파일로 응답합니다. 2. ReportResolver : CsvServlet은 보고서 이름을 전달하며 ReportResolver는 보고서를 초기화하고 CSV 문자열을 보고서에서 가져올 수 있어야합니다. 3. 보고서 : SQL 쿼리를 실행하고 결과 집합을 csv 문자열로 변환하는 서비스를 호출하여 csv 문자열을 출력으로 반환합니다. (@Autowired는 여전히 그것들 모두에 대해 작동해야 함) – coolscitist