2011-05-02 4 views
0

지금까지 최선의 방법으로 수행 할 수없는 간단한 질문. 새로운 프로젝트를 시작하면서 여전히 유연합니다.jsf 2.0에서 탭 동작을 만드는 방법

JSF 2.0, Facelets는 환영합니다. (필자는 facelet이 무엇인지 배우기 시작했지만) 핵심 기술을 권해드 리면서 필자는 고려할 것입니다. 또한 IE6에서도 작동해야합니다 (하지만 IE6에서 작동하지 않는 적절한 솔루션이 있다면 알려주십시오).

웹 응용 프로그램에서 탭과 같은 동작을 만들 수 있습니까? Gmail의 가장 좋은 예는 사이드 바가 페이지를 새로 고치지 않고 내용을 변경하는 것입니다.

세부 정보로 이동할 필요가 없습니다. 단지 그 뒤에있는 기술과 올바른 방향을 가리키는 손가락을 찾고 있습니다.

감사합니다.

답변

0

어때 대략 Primefaces Tabview component. Primefaces는 JSF 2.0을 기반으로하는 컴포넌트 라이브러리입니다. (IE6에서 절대로 시도하지 않았습니다. IE6에서 주어진 예제를 시도해 보시기 바랍니다.)

+0

감사 :이 링크

를 사용하여 전체 솔루션을 볼 수 있습니다. '핵심 기술'을 찾고 있습니다. 의미,이 작업을 수행하는 특정 구성 요소로 작업하지 않으려합니다. – Ben

+0

'핵심'기술이란 무엇입니까? primefaces (또는 richfaces, iceface)의 컴포넌트는 jsf, javascript 및 backing beans를 기반으로합니다. –

2

"직접 해보고 싶다면"f:ajax 태그를 사용하십시오. 여기에는 세 가지 매개 변수가 사용됩니다.

  • 이벤트 : ajax 업데이트를 트리거하는 항목. 귀하의 경우에는 탭 이름의 앵커와 같은 것을 클릭 할 수 있습니다.
  • listener : 이벤트가 발생할 때 관리 Bean에서 조치를 실행합니다. 사용자가 클릭 한 내용에 따라 현재 어떤 탭이 표시되고 있는지 파악할 수 있습니다. UI는 그 정보를 사용하여 무엇을 렌더링할지 결정합니다.
  • render : 다시 표시 할 구성 요소의 ID입니다. 이 탭 컨트롤 자체는 페이지의 panelGroup 또는 panelGrid 일 수 있습니다. 이것은 페이지의 어느 부분이 다시 그려지는지를 결정합니다. 여기에 모든 탭에 대한 UI 로직이 있지만, 현재 선택 사항 인 경우에만 렌더링하도록 구성하십시오.

Richfaces, Primefaces 및 Icefaces 구성 요소 라이브러리에는 모두 사용할 수있는 솔루션이 있습니다.

+0

그러면 솔루션은 하나의 구성 요소/패널을 렌더링하고 다른 모든 구성 요소를 숨 깁니다. (키 누를 때 대체되는 실제 내용) – Ben

+0

당신이 묻는 것을 쉽게 할 수 있습니다. 그렇습니다. –

관련 문제