2011-04-27 2 views
1

우리는 현재보기를 생성하기 위해 웹 레이어가 DHTML 컨텐츠를 브라우저로 전송하는 거대한 Java EE 애플리케이션을 보유하고 있습니다.JSF가 포함 된 동적 웹 페이지

사용자 정의 Javascript AJAX 프레임 워크를 사용하여보기에서 표준화 된 구성 요소 이벤트를 관리합니다. 프레임 워크는 모든 다른 휴면보기를 호스팅하는 초기 페이지 템플리트에 의해로드됩니다.

우리는 레이아웃, 이벤트 및 관련 기능면에서 웹보기를 정의하는 데 사용되는 "비 프로그래머"용 도구를 구축했습니다. 뷰가 정의되면 DHTML이 프로그래밍 방식으로 만들어져 데이터베이스에 저장됩니다.

뷰에 대한 사용자 요청 (AJAX)은 DB에서 DHTML 컨텐트를 추출하고이를 브라우저로 보내고, 여기서 템플리트 또는 모달 창 내부에서 렌더링됩니다.

우리는 여러 가지 이유로 Javascript 프레임 워크를 없애고 뷰 이벤트 관리를 서버 측으로 옮길 계획입니다.

실현 가능한 Java 프레임 워크를 찾기 위해 앞에서 설명한대로보기를 작성하는 것을 제외하고 필요한 모든 기능을 갖춘 이음새가있는 JSF를 연구했습니다.

JSF 기능이나 해결 방법이 누락 되었습니까?

그렇지 않다면 우리는 우리가 필요로하는 다른 유사한 프레임 워크를 알고 있습니까?

답변

2

JSF에서 동적으로 뷰를 빌드 할 수 있습니다. 당신이 구축하는 일에 대해 자세한 내용을 모른 채, 나는 최선의 방법을 배척 할 수는 없지만 여기 파리에보기 만들 수있는 몇 가지 방법은 다음과 같습니다 UI를

  • 사용 :에 결합 src 속성에 포함 관리 빈의 재산
  • 는 UI의 혼합을 사용 포함이 까다로운 얻을 수

JSTL 때로는 JSF 태그와 JSTL을 혼합 할 때 때문에, 당신은 어디 렌더링 라이프 사이클 태그의 각 종류의 것 배울 필요 실행하면 원하는 것을 할 수 있지만 일단 배우면 가장 직접적인 방법입니다.

  • 바인드 a를 관리 빈의 필드로 구성 요소와 그것을 서버 측

를 조작은 동적으로 응용 프로그램에서 양식을 생성하기 위해이 방법을했다. 양식은 보고서 유형, 사용자 유형 및 매우 많은 수의 다른 기준에 따라 변경됩니다. 난 단순히 패널 그리드 JSF 구성 요소를 서버 측의 필드에 바인딩 한 다음 자식 요소를 "손으로"(예 : UISelectOne 드롭 다운 = 새 UISelectOne();) 만들기를 시작하여 패널 그리드에 자식으로 추가합니다 예 : panelgrid.getChildren(). add (드롭 다운);) 내가 따라 갔다.

물론 패널 그리드 일 필요는 없습니다. 물론 레이아웃 요소 인 layout_nit을 동적으로 생성하는 PrimeFaces Layout 컨트롤 일 수도 있습니다. 핵심은 관리 빈의 변수에 모든 컨트롤을 바인딩 할 수 있으며 원하는 기준에 따라 서버 측에서 컨트롤을 조작 할 수 있다는 것입니다.

관련 문제